我想通过公钥身份验证使用paramiko到ssh2到远程主机,我按照以下步骤设置密钥:
在本地:
Local> ssh-keygen
Generating 1024-bit dsa key pair
9 o.oOo..oOo.o
Key generated.
Passphrase :
Again :
Private key saved to /home/local/.ssh2/id_dsa_1024_a
Public key saved to /home/local/.ssh2/id_dsa_1024_a.pub
Local> cd ~/.ssh2
Local> echo "IdKey id_dsa_1024_a" > identification
Local> scp id_dsa_1024.pub remote@remote-host:~/.ssh2/local.pub
远程:
Remote> ssh-keygen
...omit...
Remote> cd ~/.ssh2
Remote> echo "Key local.pub" > authorization
完成上述操作后,我可以使用ssh remote@remote-host
登录。
但是,我未能使用python的paramiko模块登录远程主机:
conn = paramiko.SSHClient()
conn.set_missing_host_key_policy(paramiko.AutoAddPolicy())
conn.connect(remote-host, 22, username=remote,password='')
总是错误:身份验证失败。
我很困惑。:(一)
连接时是否尝试设置
key_filename
选项?我不确定paramiko是否会像SSH CLI客户端那样在~/.ssh
中自动查看您的私钥。paramiko documentation
今天早上使用Python2.7很好地解决了同样的问题
相关问题 更多 >
编程相关推荐