0
点赞
收藏
分享

微信扫一扫

通过ssh协议在各系统间传输文件

在学习的时候,我们需要传输文件到linux系统,或者是需要在linux系统下传输文件到本机电脑。

不常用,不想安装其他图形化软件。 

这时候,我们可以利用ssh协议来传输文件。


windows连接linux系统


1、复制windows文件到linux系统


scp D:\data\1.txt root@192.168.88.161:/root/data

需要输入root信息


通过ssh协议在各系统间传输文件_各系统传输文件


此时linux上没有1.txt


通过ssh协议在各系统间传输文件_linux系统_02


显示成功


通过ssh协议在各系统间传输文件_linux系统_03


连接成功。上传文件成功。


2、复制windows目录到linux系统


scp -r D:\data root@192.168.88.161:/root/data

需要输入root信息


通过ssh协议在各系统间传输文件_各系统传输文件_04


显示成功


通过ssh协议在各系统间传输文件_linux系统_05


上传文件目录成功。


3、复制linux文件到windows系统


scp root@192.168.88.161:/root/data/1.txt D:\data

需要root信息


通过ssh协议在各系统间传输文件_windows系统_06


显示成功


通过ssh协议在各系统间传输文件_linux系统_07


本地D盘123目录有这个文件


4、复制linux目录到windows系统


scp -r root@192.168.88.161:/root/data D:\data


通过ssh协议在各系统间传输文件_linux系统_08


显示成功


通过ssh协议在各系统间传输文件_windows系统_09



D盘有123文件夹


文件复制需要具体的文件名称,目录的话,前面需要添加一个 - r 参数。


以上四个操作,基本可以覆盖日常需求。


linux系统连接windows


这种情况是,你只有linux系统可以登陆,而对方是个windows系统。

需要对方的windows系统打开一个ssh协议。


首先windows系统


进入设置,找到应用和功能


通过ssh协议在各系统间传输文件_windows系统_10


找到可选功能


通过ssh协议在各系统间传输文件_windows系统_11



openssh客户端



通过ssh协议在各系统间传输文件_windows系统_12



安装openssh服务器


通过ssh协议在各系统间传输文件_各系统传输文件_13



等待中


通过ssh协议在各系统间传输文件_各系统传输文件_14



安装实在太慢了


通过ssh协议在各系统间传输文件_linux系统_15



我们按照微软的文档进行安装


https://docs.microsoft.com/zh-cn/windows-server/administration/openssh/openssh_install_firstuse


输入命令


# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0


我们需要安装server端


启动ssh服务端,并且开启防火墙22号端口


# Start the sshd service
Start-Service sshd

# OPTIONAL but recommended:
Set-Service -Name sshd -StartupType 'Automatic'

# Confirm the Firewall rule is configured. It should be created automatically by setup. Run the following to verify
if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {
Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."
}


可以成功ssh到windows系统


通过ssh协议在各系统间传输文件_各系统传输文件_16


1、复制linux文件到windows系统中


scp /root/data/1.txt admin@192.168.1.102:D:\data


通过ssh协议在各系统间传输文件_linux系统_17


成功复制linux文件


2、复制windows文件到linux系统上


跟之前的一样。



拓展:linux系统连接linux系统


scp root@192.168.88.161:/root/1.txt root@192.168.88.162:/root


复制文件的命令如上。   

举报

相关推荐

0 条评论