python SSH 脚本公私钥实现远程登陆

一、环境安装

windows + xshell + python2

paramiko安装请参考上一篇文章

二、生成公钥和私钥

这里我用的是Xshell,首先点击工具-->用户密钥管理者

175203_XiBH_3112136.png

用户密钥这里如果有就点属性-->公钥-->导出文件

175438_iGtG_3112136.png

175525_QEfM_3112136.png

然后再导出私钥

175531_MK9g_3112136.png

如果用户密钥这里没有,请点击生成-->下一步就行了

175901_EA5o_3112136.png

175911_MEBR_3112136.png

175916_6ZBJ_3112136.png

然后导出公钥和私钥

三、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()

 

转载于:https://my.oschina.net/medivhxu/blog/956567

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值