一、安装
pip install paramiko
二、连Linux服务器的2种方式
2.1、方式一
import paramiko
def sshExeCMD():
client = paramiko.SSHClient()
# 允许连接不在~/.ssh/known_hosts文件中的主机
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 输入ip,端口,账号,密码
client.connect('ip', 22, '账号', '密码')
'''
1、标准输入 用于实现交互式命令
2、标准输出 保存命令正常执行结果
3、标准错误输出 保存错误信息
'''
stdin, stdou, stderr = client.exec_command('pwd')
# print(stdin)
print(stdou.read().decode('utf8'))
# print(stderr)
client.close()
if __name__ == '__main__':
sshExeCMD()
2.2、方式二
transport = paramiko.Transport('ip', 22)
transport.connect(username='username', password='password')
ssh = paramiko.SSHClient()
ssh._transport = transport
三、上传和下载文件
import paramiko
def SshFileOP():
# 连接服务器
ssh_conn = paramiko.Transport('ip', 22)
ssh_conn.connect(username='username', password='password')
# 基于上述ssh连接创建tfp客户端,传入的参数是上面建立的连接
ftp_client = paramiko.SFTPClient.from_transport(ssh_conn)
# 下载文件,从Linux服务器上下载文件,第一个是服务器文件路径,第二个是Windows10本地路径
#ftp_client.get("/etc/hosts", "D:pythonparamikodatahosts")
# 上传文件
ftp_client.put("a.jpg", "/tmp/a.jpg")
ssh_conn.close()
if __name__ == '__main__':
SshFileOP()