如何在不輸入密碼的情況下通過 SSH 遠程複製文件

SSH(Secure Shell)是一種加密協議,用於連接遠程設備。 默認情況下,它工作在 TCP 端口 22。使用 SSH 連接遠程服務器有兩種方法,一種是使用密碼驗證,另一種方法是使用公鑰進行驗證。 在本教程中,您將學習如何在 CentOS8 中生成 SSH 密鑰並通過 SSH (SCP) 複製文件而無需輸入密碼。

生成 SSH 密鑰

在生成 SSH 密鑰之前。 首先,驗證是否安裝了SSH。 要進行驗證,請打開終端並鍵入以下命令。

# ssh –V

驗證SSH包後。 現在我將使用以下命令生成 SSH 密鑰。

# ssh-keygen

為了加強安全性,您可以根據需要提及加密算法,如下所示。

# ssh-keygen –t rsa # ssh-keygen –t rsa –b 4096

輸入上述命令後,應出現以下輸出。

rsa 密鑰文件名

要將文件保存在建議的目錄中,請按 進入.

接下來,它會提示您輸入密碼,將其留空,然後按 Enter。 應出現以下輸出。

密鑰對已創建

SSH 密鑰生成成功。 您可以通過使用以下命令查看您的 SSH 密鑰來驗證它。

顯示公鑰

此命令將打印您的 SSH 密鑰。

將 SSH 複製到遠程端,使用以下命令。

# ssh-copy-id –i [email protected]

將密鑰複製到目標服務器

如果需要雙向通信,請在遠程端重複上述所有過程。

無密碼複製文件:

使用以下命令複製遠程端的文件。

# scp 文件.txt [email protected]:/tmp/

用scp複製文件

它會將您的文本文件複製到遠程服務器,為了驗證,請轉到遠程端並驗證您的文件是否已被複製。

文件已復製到遠程服務器

SSH 配置

有時您需要要求在遠程端配置 SSH 以進行身份驗證。 在這種情況下,啟用 SSH 身份驗證密鑰,為此打開 /etc/ssh/sshd_config,並啟用或添加以下行。

RSAAuthentication 是 PubkeyAuthentication 是

Save 配置文件並使用以下命令重新啟動服務。

# systemctl 重啟 sshd

結論

在本教程中,我們學習瞭如何在 CentOS8 中生成 SSH 身份驗證密鑰並通過 SSH 複製文件,而無需輸入密碼。 希望本教程能幫助你理解SSH密鑰生成,並在遠程端複製文件。