Linux 中将密码传递给 SCP 命令

将文件和目录从一个系统复制到另一个系统是任何系统管理员的常见任务。 SCP,也称为安全复制,是一种 Linux 命令行实用程序,用于将文件从一台服务器安全地复制或传输到另一台服务器。 SCP 命令允许我们将文件或目录从本地系统复制到远程系统,从远程系统复制到本地系统,或在本地系统的两个远程系统之间复制。

当我们使用 SCP 命令时,我们需要在传输文件之前提供远程用户的密码。 在这篇文章中,我们将解释 Linux 中将密码传递给 SCP 命令。

先决条件

  • 在 云平台上运行 Linux 的服务器
  • 在我们的服务器上配置的 root 密码

创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择任何具有至少 1GB RAM 的 Linux 操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

使用 SCP 命令复制文件

将文件从本地系统复制到远程系统的基本语法如下所示:

scp filename user@remotehost:/directory/path

例如,要将名为 file1.txt 的文件从本地系统复制到 /mnt 目录中 IP 地址为 192.168.1.100 的远程系统,请运行以下命令:

scp file1.txt root@192.168.1.100:/mnt/

将文件从远程系统复制到本地系统的基本语法如下所示:

scp user@remotehost:/file/path local/path

例如,要将名为 file1.txt 的文件从 IP 地址为 192.168.1.100 的远程系统复制到 /opt 目录中的本地系统,请运行以下命令:

scp root@192.168.1.100:/mnt/file1.txt /opt/

系统将提示我们提供远程用户的密码,如下所示:

root@192.168.1.100 password:

在 Linux 中安装 sshpass

sshpass 是一个简单轻量级的命令行工具,它允许我们为命令提示符本身提供密码。 当我们想通过 cron 作业进行备份时,它在 shell 脚本中非常有用。 默认情况下,sshpass 不包含在任何 Linux 操作系统中,因此我们需要在 Linux 系统中安装 sshpass 实用程序以使用 SCP 命令传递密码。 对于基于 Ubuntu 和 Debian 的操作系统,使用以下命令安装 sshpass:

apt-get install sshpass -y

对于 RHEL、Fedora、CentOS 和 Rocky Linux 操作系统,使用以下命令安装 sshpass:

dnf install sshpass -y

安装 sshpass 实用程序后,我们可以继续下一步。

如何使用 SCP 命令传递密码

使用 SCP 命令传递密码的基本语法如下所示:

sshpass -p "remote-user-password" scp filename user@remotehost:/dir/path/

例如,如果要将名为 file1.txt 的文件复制到 IP 为 192.168.1.100 的远程服务器,请使用以下命令:

sshpass -p "password" scp file1.txt root@192.168.1.100:/mnt/

如我们所见,sshpass + SCP 命令将帮助我们使用单行命令将文件和目录从一个系统复制到另一个系统。

本文记录了, Linux 中使用带有 sshpass 的 SCP 命令来传递密码。 sshpass 将帮助我们加快文件复制过程。 我们还可以使用它自动从一台服务器备份到另一台服务器。

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论