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()
本文介绍了如何生成SSH密钥对,并将公钥添加到服务器授权文件,实现无密码登录。同时,通过Python的Paramiko库展示了如何利用私钥进行远程SSH连接并执行命令。
102

被折叠的 条评论
为什么被折叠?



