Paramiko ssh连接没有密码

时间:2015-02-05 12:34:21

标签: python python-2.7 python-3.x paramiko

目前我通过在ssh.connect中输入密码从Windows桌面登录Unix服务器。有没有办法可以避免提供密码?

import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect('ltc02.force.com',username = 'user',password = 'pwd')
stdin,stdout,stderr = ssh.exec_command("pwd")

感谢您的支持。

1 个答案:

答案 0 :(得分:0)

是的,您可以使用没有密码的私钥来使用公钥验证。

一般过程是使用

在客户端计算机上创建新密钥
  

ssh-keygen -t rsa

然后将公钥上传到服务器,将其粘贴到:

  

的.ssh / authorized_keys的

.ssh目录将位于服务器上的用户主目录中。

当然,由于您的私钥没有密码,您需要确保采取足够的措施来保护密码。

请注意,这不是Python特定的答案。 SSH公钥是一种标准流程,密钥使用的是标准RSA(或DSA)密钥。因此,您应该能够以您选择的任何语言进行SSH公钥认证。