Python paramiko使用密钥ssh登陆服务器

1. 本机生成ssh密钥对

ssh-keygen -t rsa

2. 把本机公钥添加到服务器文件~/.ssh/authorized_keys末尾

cat ~/.ssh/id_rsa.pub

3. 本机使用私钥即可登陆服务器

ssh -i ~/.ssh/id_rsa root@192.168.1.12

4. 使用paramiko实现,key文件使用的是

#!/usr/bin/env python3
import paramiko

key = paramiko.RSAKey.from_private_key_file("/home/test/.ssh/id_rsa")
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
print("connecting")
ssh.connect(hostname="192.168.1.12", username="root", pkey=key)
print("connected")
commands = "uname -a"
stdin, stdout, stderr = ssh.exec_command(commands)
stdin.close()
res, err= stdout.read(), stderr.read()
result= res if res else err
print(result)
ssh.close()
posted @ 2022-07-17 21:17  船长博客  阅读(2262)  评论(0)    收藏  举报
永远相信美好的事情即将发生!