📜  scp 到远程服务器 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:47:18.793000             🧑  作者: Mango

SCP到远程服务器 - Shell/Bash

SCP是Linux/Unix系统中用于复制文件的命令。它允许您在本地主机和远程计算机之间复制文件或目录。SCP使用加密协议(SSH)来保护数据传输,因此它比FTP更安全。

命令语法

以下是SCP命令的基本语法:

scp [OPTION] [SOURCE] [DESTINATION]

其中,SOURCE是要复制的文件或目录的本地路径,DESTINATION是目标服务器上的路径。您可以使用以下选项来自定义SCP命令的行为:

  • -r:递归复制整个目录。
  • -P:指定ssh端口,默认端口是22。
  • -i:指定密钥文件。
  • -v:打印详细日志。
例子

将本地文件夹/home/user/doc复制到远程服务器example.com/var/www目录下:

scp -r /home/user/doc user@example.com:/var/www

将远程服务器example.com/var/www目录复制到本地文件夹/home/user/backups下:

scp -r user@example.com:/var/www /home/user/backups
避免密码登陆

SCP命令默认会要求您输入目标服务器的密码。但您也可以通过在本地生成公钥/私钥对来避免密码登陆。具体步骤如下:

  1. 在本地生成一个公钥/私钥对。
ssh-keygen -t rsa
  1. 将公钥复制到远程服务器上。
ssh-copy-id -i ~/.ssh/id_rsa.pub user@example.com

现在,您就可以使用SCP命令无需输入密码来登陆远程服务器了。

总结

SCP命令是Linux/Unix系统中非常有用的工具,可以方便地在本地主机和远程计算机之间复制文件。通过在本地生成公钥/私钥对,您可以避免每次复制文件时都需要输入密码。了解这些命令选项可以帮助您更好地使用SCP命令。