使用paramiko tring连接RHEL6.5 vm,给出“ai_socktype不支持Servname”错误消息

时间:2016-04-27 08:54:56

标签: redhat python-2.6 paramiko

我是python中的新手,我尝试通过RHEL vm连接key authentication。我在两者上都有两个RHEL6.5 vm1,vm2Python 2.6.6

首先,我在vm1上生成密钥,然后使用下面的cmd复制到vm2。

在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

1 个答案:

答案 0 :(得分:1)

我认为RHEL6.5 vm1无法与RHEL6.5 vm2.Python版本进行通信看起来不错,需要在RHEL6.5上安装paramiko vm2.Run cmd下面。

1)yum list python-paramiko --showduplicates 这将为您提供可用的包裹 2)yum安装python-paramiko 这将在您的rhel vm上安装paramiko。