基于python2.7 paramiko的远程ssh登录与命令执行

安装部署 paramiko

pip install paramiko

这个安装方法获得的版本没有执行成功,通过pip uninstall paramiko干掉重新下载安装

pip install pycrypto  
yum install libffi-devel
pip install enum
pip install ipaddress

#https://pypi.org/project/paramiko/1.8.0/#files
wget https://files.pythonhosted.org/packages/99/1d/26da0e535bc84693f1a29370f63999c83bebbff85318cef441509e90a2e8/paramiko-1.8.0.tar.gz
tar -xvf paramiko-1.8.0.tar.gz
cd paramiko-1.8.0
python setup.py build
python setup.py install

ssh证书生成,并部署到远程

ssh-keygen -t rsa  #(连续三次回车,即在本地生成了公钥和私钥,不设置password)
cat /root/.ssh/id_rsa.pub #看到自己机器的公钥内容

线上

vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
--------------------------------
touch /root/.ssh/authorized_keys      #(假设已经存在这个文件, 跳过这条)
echo 公钥内容 >> /root/.ssh/authorized_keys

线下
ssh -p 端口 root@ip 测试下

python代码

#!/usr/bin/env python
#coding:utf-8
import paramiko
paramiko.util.log_to_file("11.log")
private_key_path = '/root/.ssh/id_rsa'
key = paramiko.RSAKey.from_private_key_file(private_key_path)
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh.connect('192.168.137.4',22, 'root', key)

stdin, stdout, stderr = ssh.exec_command('df')
print stdout.read()
ssh.close()

标签: paramiko

非特殊说明,本博所有文章均为博主原创。

最新文章

发表评论