目前我通过在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")
感谢您的支持。
答案 0 :(得分:0)
是的,您可以使用没有密码的私钥来使用公钥验证。
一般过程是使用
在客户端计算机上创建新密钥ssh-keygen -t rsa
然后将公钥上传到服务器,将其粘贴到:
的.ssh / authorized_keys的
.ssh目录将位于服务器上的用户主目录中。
当然,由于您的私钥没有密码,您需要确保采取足够的措施来保护密码。
请注意,这不是Python特定的答案。 SSH公钥是一种标准流程,密钥使用的是标准RSA(或DSA)密钥。因此,您应该能够以您选择的任何语言进行SSH公钥认证。