Python:使用paramiko模块(执行ssh命令,sftp传输文件)
程序员文章站
2022-03-20 14:05:40
...
安装模块
pip3 install paramiko
使用sftp传输文件:
import paramiko
trans = paramiko.Transport(('11.11.12.25', 22))
trans.connect(username='abc', password='123abc')
sftp = paramiko.SFTPClient.from_transport(trans)
sftp.get(remotepath='/home/abc/t.txt',localpath='file')
sftp.put(localpath='file', remotepath='/home/abc/t.txt')
trans.close()
注:
-
get
和put
方法一次只能传输一个文件,不能传输目录。 -
localpath
和remotepath
参数都必须具体到文件名,不能是目录,文件名也不能用通配符。 - 不管是
get
还是put
,若目标文件存在会直接覆盖。
使用ssh执行命令:
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname='11.11.12.25', port=22, username='abc', password='123abc')
stdin, stdout, stderr = ssh.exec_command('ls /home/abc')
print("stdout:\n" + stdout.read().decode())
print("stderr:\n" + stderr.read().decode())
print("*"*30)
stdin, stdout, stderr = ssh.exec_command('ls /home/abc')
print("stdout:\n" + stdout.read().decode())
print("stderr:\n" + stderr.read().decode())
ssh.close()
推荐阅读
-
python使用paramiko模块实现ssh远程登陆上传文件并执行
-
python使用paramiko模块实现ssh远程登陆上传文件并执行
-
python基于paramiko库远程执行 SSH 命令,实现 sftp 下载文件
-
Python - paramiko 模块远程执行ssh 命令 nohup 不生效的问题解决
-
详解python通过paramiko模块批量执行ssh命令
-
python使用paramiko模块实现ssh远程登陆上传文件并执行
-
详解python通过paramiko模块批量执行ssh命令
-
python使用paramiko模块实现ssh远程登陆上传文件并执行
-
python基于paramiko库远程执行 SSH 命令,实现 sftp 下载文件
-
python 通过paramiko模块批量执行ssh命令