📌  相关文章
📜  如何将目录复制到 ssh 服务器 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:09:07.934000             🧑  作者: Mango

如何将目录复制到 SSH 服务器 - Shell/Bash

在本文中,我们将介绍如何将本地目录复制到 SSH 服务器。我们将使用 Shell/Bash 编写命令,这些命令可以在大多数操作系统上运行。通过本文,你将了解:

  • 如何使用 SSH 连接到远程服务器。
  • 如何使用 SCP 命令将本地目录复制到远程服务器。
连接到远程服务器

在开始之前,你需要确保已经使用 SSH 连接到远程服务器。如果还没有连接,请使用以下命令连接到远程服务器。

ssh username@hostname

其中, username 是你的用户名, hostname 是你的服务器主机名或 IP 地址。

复制本地目录到远程服务器

现在我们已经连接到远程服务器,下一步是将本地目录复制到远程服务器。我们将使用 SCP 命令进行此操作。

scp -r /path/to/local/directory username@hostname:/path/to/remote/directory

在此命令中, -r 标志指示 scp 复制整个目录。 /path/to/local/directory 是本地目录的路径。 username 是你的用户名, hostname 是远程服务器的主机名或 IP 地址。最后,/path/to/remote/directory 是你要将目录复制到的远程服务器的路径。

例如,如果要将本地目录 ~/myproject 复制到远程服务器的目录 /home/username/myproject,则使用以下命令。

scp -r ~/myproject username@hostname:/home/username/myproject
拓展
  • 如果你需要指定远程服务器的端口,请使用 -P 标志,如下所示。

    scp -P port -r /path/to/local/directory username@hostname:/path/to/remote/directory
    

    在此命令中, port 是远程服务器的端口号。

  • 如果你不想输入密码,可以使用 SSH 密钥进行身份验证。

    • 生成 SSH 密钥。

      ssh-keygen
      
    • 复制公钥到远程服务器。

      ssh-copy-id username@hostname
      

      在此命令中, username 是你的用户名, hostname 是远程服务器的主机名或 IP 地址。

  • 如果你需要在远程服务器上复制目录到本地机器,请使用以下命令。

    scp -r username@hostname:/path/to/remote/directory /path/to/local/directory
    

    在此命令中, /path/to/remote/directory 是远程服务器上的目录路径, /path/to/local/directory 是你要将目录复制到的本地路径。