複製和移動檔案和目錄在系統管理員中是一項常見任務。 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中文網其他相關文章!