通过ssh协议在各系统间传输文件
Posted 最爱大苹果
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过ssh协议在各系统间传输文件相关的知识,希望对你有一定的参考价值。
在学习的时候,我们需要传输文件到linux系统,或者是需要在linux系统下传输文件到本机电脑。
不常用,不想安装其他图形化软件。
这时候,我们可以利用ssh协议来传输文件。
windows连接linux系统
1、复制windows文件到linux系统
scp D:\\data\\1.txt root@192.168.88.161:/root/data
需要输入root信息
此时linux上没有1.txt
显示成功
连接成功。上传文件成功。
2、复制windows目录到linux系统
scp -r D:\\data root@192.168.88.161:/root/data
需要输入root信息
显示成功
上传文件目录成功。
3、复制linux文件到windows系统
scp root@192.168.88.161:/root/data/1.txt D:\\data
需要root信息
显示成功
本地D盘123目录有这个文件
4、复制linux目录到windows系统
scp -r root@192.168.88.161:/root/data D:\\data
显示成功
D盘有123文件夹
文件复制需要具体的文件名称,目录的话,前面需要添加一个 - r 参数。
以上四个操作,基本可以覆盖日常需求。
linux系统连接windows
这种情况是,你只有linux系统可以登陆,而对方是个windows系统。
需要对方的windows系统打开一个ssh协议。
首先windows系统
进入设置,找到应用和功能
找到可选功能
openssh客户端
安装openssh服务器
等待中
安装实在太慢了
我们按照微软的文档进行安装
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系统
1、复制linux文件到windows系统中
scp /root/data/1.txt admin@192.168.1.102:D:\\data
成功复制linux文件
2、复制windows文件到linux系统上
跟之前的一样。
拓展:linux系统连接linux系统
scp root@192.168.88.161:/root/1.txt root@192.168.88.162:/root
复制文件的命令如上。
以上是关于通过ssh协议在各系统间传输文件的主要内容,如果未能解决你的问题,请参考以下文章