linux和linux之间相互传输文件是比较简单的,直接使用scp命令即可,但是要从linux中通过scp命令传文件到windows上需要在windows
客户端安装ssh for windows
的客户端软件,比如winsshd
,使windows
系统支持ssh
协议才行,因为windows
系统本身不支持ssh
协议
关于安装winsshd参考此文章:安装WinSSHD实现Windows下的SSH协议并配置信任Linux客户端_服务器应用_Linux公社-Linux系统门户网站
从 linux
系统复制文件到 windows
系统:
scp /root/a.txt administrator@192.168.3.***:/d:/test/
复制到windows上的路径可以参考 git 上显示的路径:
在 linux 下,从 windows 上获取文件到 linux 上
scp administrator@192.168.3.***:/d:/test/test.py /root
windows 上传文件到Linux服务器
# 上传e盘下的html到指定服务器目录
scp /e/**.html root@47.113.**.***:/root
paramiko实现
import paramiko
def ssh_scp(ip, port, user, password):
# 创建一个SSH客户端对象
ssh = paramiko.SSHClient()
# 设置访问策略
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 创建连接
ssh.connect(ip, port, user, password)
sftp = ssh.open_sftp()
return sftp
sftp.put(r"本地文件路径", "远端路径")
sftp.get(r'远端文件路径', r"本地保存文件路径")