Red Hat自帶有openSSH,不需要像其他Linux一樣需要安裝SSH。
打開Terminal,更換權限為root(su - root)
第一步:
使用 #ssh-keygen -t dsa ,使用這個指令之後會提示是否輸入密碼,這裡不輸入密碼,一路enter下去就可以了,最後會在使用者目錄下的隐藏檔案夾.ssh下生成id.dsa和id_dsa.pub兩個檔案,分别為私鑰和公鑰。
也可以直接使用#ssh -keygen -t dsa -P '' -f ~/.ssh/id_dsa,這樣就無需再被問詢了。
這裡說一下SSH加密有兩種方式:dsa和rsa,對應的指令一樣隻是在-t訓示加密類型時一個是dsa,另一個是rsa
第二步:
将公鑰追加到authorized_keys檔案中,也在.ssh目錄下,沒有也沒關系,使用#cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys指令即可
第三步:
将authorized_keys拷貝到其他需要被SSH無密碼通路的機器上(注意這裡是被通路,也就是如果你想從1無密碼通路2,那麼就得在1上生成密鑰對,然後将公鑰丢到2上)
#scp ~/.ssh/authorized_keys root@(other machine ip):/~/.ssh/
scp作用是linux從本機複制檔案到遠端機器,可以在scp後面加上-r,表示傳輸檔案夾
到這裡配置就完成了,下面可以測試下是否可以無密碼通路,測試方法可以先用本機通路本機,使用#ssh localhost,這裡第一次會提示你通路的host無法連接配接,是否仍繼續連接配接,輸入yes,然後輸入密碼,連接配接上之後,使用#exit可以退出,在此連接配接就無需密碼了。
同樣的你可以測試一下連接配接遠端機器(你丢authorized_keys檔案的機器),過程和localhost一樣。如果可以說明配置成功。
說明:
文章中“~”指代相對路徑,把你的RHEL中的路徑替換即可,一般為/root/.ssh,有些使用者一開始會沒有該檔案夾,在ssh -keygen生成密鑰後會自動生成為隐藏檔案夾,可以使用ls -a指令看到