复制和移动文件和目录在系统管理员中是一项常见任务。Linux 命令行实用程序scp(Secure Copy)可以安全地将文件从一台服务器复制或传输到另一台服务器。使用scp命令,你可以从本地系统复制文件或目录到远程系统,从远程系统复制到本地系统,或在本地系统的两个远程系统之间复制。在使用scp命令时,需要提供远程用户密码以进行文件传输。本文将介绍如何在Linux中传递密码给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:
sshpass 是一个简单轻量级的命令行工具,它允许你为命令提示符本身提供密码。当你想通过 cron 作业进行备份时,它在 shell 脚本中非常有用。默认情况下,sshpass 不包含在任何 Linux 操作系统中,因此你需要在 Linux 系统中安装 sshpass 实用程序以使用 SCP 命令传递密码。对于基于 Ubuntu 和 Debian 的操作系统,使用以下命令安装 sshpass:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install sshpass -y
对于 RHEL、Fedora、CentOS 和 Rocky Linux 操作系统,使用以下命令安装 sshpass:
dnf install sshpass -y
安装 sshpass 实用程序后,你可以继续下一步。
使用 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 命令的详细内容。更多信息请关注PHP中文网其他相关文章!