python使用paramiko模块操作linux服务器

paramiko基于SSH,可用于linux服务器命令执行,上传下载操作,是一个第三方模块,使用前需要安装。

pip intsall paramiko

一、用户名密码模式

执行Linux命令:

import paramiko

# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='x.x.x.x', port=22, username='xx', password='xx')

# 执行命令
stdin, stdout, stderr = ssh.exec_command('ls -l')
# 获取命令结果
if result is None:
    print(result)
else:
    result = stdout.read().decode('utf-8')
    print(result)

# 关闭连接
ssh.close()

上传下载文件、并修改文件权限:

import paramiko
transport = paramiko.Transport(('x.x.x.x', 22))
transport.connect(username='xx', password='xx')

sftp = paramiko.SFTPClient.from_transport(transport)
# 将location.py 上传至服务器 /tmp/test.py
sftp.put(r'E:\\depoly_monitor_with_paramiko.py', '/tmp/test.py')
# 将remove_path 下载到本地 local_path
sftp.get('/tmp/test.py', './test.py')
sftp.chmod('/tmp/test.py', 0o755)

transport.close()

猜你喜欢

转载自blog.csdn.net/a200822146085/article/details/88568948