如何通过 ssh 进行 scp?

如何通过 ssh 进行 scp?

我有一台 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您维护目标文件的时间戳和权限。

相关内容