📅  最后修改于: 2023-12-03 15:20:20.361000             🧑  作者: Mango
在程序员的日常工作中,往往需要在不同的服务器之间传输文件或目录。传统的做法是使用 FTP 或 SCP,但是这些协议的安全性和效率都不够理想。SSH 作为一种安全的远程登录协议,也可以用来传输文件或目录,而且效率更高、安全性更好,被广泛应用于程序员的工作中。
使用 SSH 复制文件或目录非常简单,只需要在源服务器上执行以下命令:
scp /path/to/local/file username@remote:/path/to/remote/directory
其中,/path/to/local/file
是本地文件的路径,username
是远程服务器的用户名,remote
是远程服务器的 IP 地址或域名,/path/to/remote/directory
是远程服务器上接收文件的目录路径。
如果要复制目录,只需要把源文件路径改成目录路径即可,例如:
scp -r /path/to/local/directory username@remote:/path/to/remote/directory
这里的 -r
表示递归复制目录及其子目录、子文件。
如果远程服务器使用了非标准的 SSH 端口(默认是 22),可以使用 -P
参数指定端口号,例如:
scp -P 2222 /path/to/local/file username@remote:/path/to/remote/directory
这里的 2222
是远程服务器的 SSH 端口号。
在 SSH 复制文件时使用的命令是 scp
,那么 SSH 和 SCP 到底有什么区别呢?
SSH(Secure Shell)是一种安全的远程登录协议,既可以用来登录远程服务器执行命令,也可以用来传输文件或目录。SSH 是通过公钥加密和对称加密来保证通信的安全性的。
SCP(Secure Copy)是基于 SSH 的安全文件复制协议,用来在本地和远程服务器之间传输文件或目录。SCP 同样使用了公钥加密和对称加密来保证通信的安全性。SCP 的基本语法和 SSH 很像,只是命令名不同。
SSH 复制文件或目录非常方便,只需要使用 scp
命令即可。要注意的是,SSH 和 SCP 的安全性都是通过加密来保证的,因此使用时一定要注意安全事项,比如使用密钥登录、定期更换密钥等。