复制和移动文件和目录在系统管理员中是一项常见任务。linux 命令行实用程序scp(secure copy)可以安全地将文件从一台服务器复制或传输到另一台服务器。使用scp命令,你可以从本地系统复制文件或目录到远程系统,从远程系统复制到本地系统,或在本地系统的两个远程系统之间复制。在使用scp命令时,需要提供远程用户密码以进行文件传输。本文将介绍如何在linux中传递密码给scp命令。

先决条件

  • 运行 Linux 的服务器
  • 在你的服务器上配置的 root 密码

使用 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:

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install sshpass -y

登录后复制
如何在 Linux 中将密码传递给 scp 命令

对于 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 将帮助你加快文件拷贝过程。你还可以使用它自动从一台服务器备份到另一台服务器。

以上就是如何在 Linux 中将密码传递给 scp 命令的详细内容,更多请关注小闻网其它相关文章!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。