【发布时间】:2016-08-21 11:05:10
【问题描述】:
我是 python 新手,我尝试通过key authentication 连接RHEL vm。我有两个RHEL6.5 vm1,vm2 和Python 2.6.6。
首先,我在 vm1 上生成密钥并复制到 vm2,就像使用下面的 cmd 一样。
在 vm1 下执行 cmd:
1) ssh-keygen -t rsa
2) After key generation
3) ssh-copy-id -i .ssh/id_rsa.pub root@vm2
之后我可以从 vm1 登录该 vm2
ssh -i /root/.ssh/id_rsa root@vm2
手动这工作正常,但我是通过使用 python 以编程方式完成的,下面是我的代码:从 vm1 运行
SSHKey.py
import paramiko
sshcon = paramiko.SSHClient()
sshcon.set_missing_host_key_policy(paramiko.AutoAddPolicy())
connection = sshcon.connect('vm2', 'root','/root/.ssh/id_rsa')
print "-----------------"
print connection
**OutPut:**
Traceback (most recent call last):
File "SSHKey.py", line 5, in <module>
connection = sshcon.connect('vm2', 'root')
File "/usr/lib/python2.6/site-packages/paramiko/client.py", line 277, in connect
socket.getaddrinfo(hostname, port):
socket.gaierror: [Errno -8] Servname not supported for ai_socktype
【问题讨论】:
标签: redhat python-2.6 paramiko