一、环境安装
windows + xshell + python2
paramiko安装请参考上一篇文章
二、生成公钥和私钥
这里我用的是Xshell,首先点击工具-->用户密钥管理者
用户密钥这里如果有就点属性-->公钥-->导出文件
然后再导出私钥
如果用户密钥这里没有,请点击生成-->下一步就行了
然后导出公钥和私钥
三、server添加公钥
把本机生成的公钥(id_rsa_2048.pub)中的内容复制到server中 ~/root/.ssh/authorized_keys文件中,如果没有就自己新建一个,重启sshd服务.
/etc/init.d/sshd restart
四、代码实现
#!/usr/bin/env python
# coding=utf-8
import paramiko
private_key = paramiko.RSAKey.from_private_key_file('id_rsa_2048')
# 创建SSH对象
ssh = paramiko.SSHClient()
# 把要连接得机器添加到known_hosts文件中
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='IP', port=22, username='root', pkey=private_key,
allow_agent=False, look_for_keys=False)
cmd = "ls"
stdin, stdout, stderr = ssh.exec_command(cmd)
result = stdout.read()