![如何通过 ssh 进行 scp?](https://linux22.com/image/124664/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%20ssh%20%E8%BF%9B%E8%A1%8C%20scp%EF%BC%9F%20.png)
我有一台 LINUX 机器(远程)和一台 MAC 机器(本地)。我们的系统管理员设置了一个“SSH”方法,我可以通过 MAC 上的以下命令从我的 MAC ssh 到我的 LINUX 机器:
ssh [email protected] -p 12345
当我这样做时,系统会提示我输入 LINUX 机器的密码,当我这样做时,我就可以访问,这很棒。
但我现在想做的是能够从我的 MAC 机器到我的 LINUX 机器,这样我就可以传输文件了。我怎么做?我已经用谷歌搜索过,但我不知道该怎么做。
谢谢
答案1
复制自偏僻的到当地的:
scp -P 12345 user@server:/path/to/remote/file /path/to/local/file
复制自当地的到偏僻的:
scp -P 12345 /path/to/local/file user@server:/path/to/remote/file
注意:指定端口的开关scp
是-P
而不是-p
如果要复制目录中的所有文件,可以使用通配符,如下所示:
scp -P 12345 user@server:/path/to/remote/dir/* /path/to/local/dir/
甚至
scp -P 12345 user@server:/path/to/remote/dir/*.txt /path/to/local/dir/
答案2
如果您经常这样做,我建议在文件中添加一些配置~/.ssh/config
添加以下行
Host highlabs
Hostname gateway.highlabs.co
User marcus
Port 12345
然后你可以
ssh highlabs
或者
scp highlabs:/path/to/file /local/path/to/file
从服务器复制
或者
scp /local/path/to/file highlabs:/remote/path/to/file
复制到服务器
如果您使用密钥身份验证选项卡完成功能,例如,ssh hi<tab>
将完成单词并scp highlabs:/et<tab>
在检查远程服务器上的文件后扩展到 /etc
答案3
你应该使用这样的东西
scp -P 12345 -p some_file [email protected]:
这将复制some_file
到远程服务器上的主目录。通过将替代项紧接在:
(无空格)之后来更改名称或路径。交换参数以复制回本地系统。
相当于-P 12345
您的-p 12345
标志,-p
告诉scp
您维护目标文件的时间戳和权限。