当前位置:   article > 正文

paramiko使用秘钥连接_window下paramiko使用密钥连接服务器

window下paramiko使用密钥连接服务器

代码如下

  1. def ssh_scp(ip, port, user):
  2. private_key = paramiko.RSAKey.from_private_key_file('/usr/id_rsa')
  3. # 创建一个SSH客户端对象
  4. ssh = paramiko.SSHClient()
  5. # 设置访问策略
  6. ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
  7. # 创建连接
  8. ssh.connect(ip, port, user, pkey=private_key)
  9. sftp = ssh.open_sftp()
  10. return sftp

代码:paramiko.RSAKey.from_private_key_file('/usr/id_rsa') 是选择你的秘钥,该方法的第二个参数为秘钥的密码,同时你要将你的公钥添加给你的ssh用户

注意:如果你生成秘钥有设置密码的话需要指定你的密码,源码如下图

这里主要记录下关于在windows下创建秘钥,我是在git上面生成,生成的命令和linux下有一点点不一样,需要指定 -m 参数,不然生成的秘钥不能使用,会出现:paramiko.ssh_exception.SSHException: not a valid RSA private key file 错误

 

windows生成秘钥

该问题解决参考:https://www.cnblogs.com/dbf-/p/11114264.html

通过 ssh-keygen -m PEM -t rsa 命令生成 RSA 格式的密钥对,如下图所示,生成的秘钥是 RSA 格式的,参数指定密钥的格式,PEM(也就是 RSA 格式)是之前使用的旧格式

PS:如果像linux中,默认使用 ssh-keygen -t rsa 的方式生成秘钥,秘钥格式如下,但是paramiko使用该格式的秘钥连接windows服务器会出错

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/603416
推荐阅读
相关标签
  

闽ICP备14008679号