如何在ssh遠端linux伺服器時不需要輸入密碼

2022-09-02 15:39:23 字數 991 閱讀 2375

目的:

期望a伺服器在對b伺服器執行ssh或者scp等命令的時候不需要輸入密碼

實現方法:

1.通過安裝sshpass服務

2.通過金鑰驗證的方式

操作過程:

一、通過sshpass的方式達到密碼非互動

yum install sshpass

2.使用sshpass命令登陸遠端伺服器

sshpass -p '密碼' ssh [email protected]

sshpass -p '密碼' scp 1.txt [email protected]:/root

二、通過金鑰認證方式達到免互動免密碼認證

1.通過ssh-keygen命令生成公鑰

ssh-keygen -t rsa

2.在/root/.ssh/目錄下會生成乙個'id_isa.pub'的檔案,將其拷貝到目標主機

scp /root/.ssh/id_isa.pub [email protected]:/root

或者直接使用ssh-copy-id命令去複製公鑰自動寫入到authorized_keys檔案中,這樣就不需要接下來的手動複製公鑰操作了

ssh-copy-id -i /root/.ssh/id_isa.pub [email protected]

3.將id_isa.pub裡面的內容重定向到目標主機的/root/.ssh/authorized_keys檔案中(如果沒有.ssh目錄和authorized_keys檔案,需要自己手動建立)

cat id_isa.pub >> /root/.ssh/authorized_keys

注意:authorized_keys許可權一定要為600

4.此時再登陸目標主機發現不需要輸入密碼

sshpass方式與公鑰認證對比:

做過這個小實驗就不難發現,sshpass命令中附帶了明文密碼,這時候如果使用者許可權管控不到位、或者在使用ps命令發現sshpass這個程序的時候都可以看到遠端主機的密碼,所以不建議這種方式,極力推薦ssh的金鑰認證。

ssh遠端服務

不了解ssh協議的請自覺看百科,進入正題 當使用者想與遠端主機建立連線時 ssh user host the authenticity of host localhost 127.0.0.1 can t be established.rsa key fingerprint is09 95 34 79...

ssh遠端服務

ssh 安全外殼協議 為 secure shell 的縮寫,ssh 為建立在應用層基礎上的安全協議。ssh 是較可靠,專為遠端登入會話和其他網路服務提供安全性的協議。利用 ssh 協議可以有效防止遠端管理過程中的資訊洩露問題。ssh最初是unix系統上的乙個程式,後來又迅速擴充套件到其他操作平台。s...

如何使用SSH遠端管理Linux伺服器

伺服器管理仍然是必要且偶爾繁瑣的任務。遠端伺服器或無外設伺服器尤其困難。值得慶幸的是,有secure shell ssh secure shell是一種網路協議,允許網路服務在不安全的網路上執行。ssh擁有大量功能。這是遠端伺服器管理的乙個原因。了解如何通過ssh遠端管理linux伺服器,從連線到安...