我是python中的新手,我尝试通过RHEL vm
连接key authentication
。我在两者上都有两个RHEL6.5 vm1,vm2
和Python 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
登录vm2ssh -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
答案 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。