上次我个你们介绍了利用paramiko这个模块,能够模拟ssh登录远程服务器,而且能够返回执行的命令结果,此次给你们介绍下如何利用已经创建的密钥来实现无需输入密码就能够登陆服务器,代码十分简单,下面来看看 python
1: [root@centos6 .ssh]# cat nopasswdSSH.py
2: #!/usr/bin/env python
3: import paramiko
4: hostname='133.214.210.124'
5: port=22
6: username='root'
7: pkey='/root/.ssh/id_rsa'
8: key=paramiko.RSAKey.from_private_key_file(pkey)
9: s=paramiko.SSHClient()
10: s.load_system_host_keys()
11: s.connect(hostname,port,username,pkey=key)
12: stdin,stdout,stderr=s.exec_command('hostname')
13:
14: print stdout.read()
15: [root@centos6 .ssh]#
16:
17:
18:
代码十分简单,可是效果仍是不错的,呵呵,感兴趣的话,去试验下吧,可是这个程序运行以前,2台服务器之间必需要作好互相信任,只须要密钥就能够登陆。这个是前提。。。。centos