SSH免密碼登陸遠程服務器

SSH免密碼登陸遠程服務器

參考網站:http://jingyan.baidu.com/article/2fb0ba4043124a00f2ec5f0f.html

背景:搭建Hadoop環境需要設置無密碼登陸,所謂無密碼登陸其實是指通過證書認證的方式登陸,使用一種被稱爲"公私鑰"認證的方式來進行ssh登錄。

在linux系統中,ssh是遠程登錄的默認工具,因爲該工具的協議使用了RSA/DSA的加密算法.該工具做linux系統的遠程管理是非常安全的。telnet,因爲其不安全性,在linux系統中被擱置使用了。

" 公私鑰"認證方式簡單的解釋:首先在客戶端上創建一對公私鑰 (公鑰文件:~/.ssh/id_rsa.pub; 私鑰文件:~/.ssh/id_rsa)。然後把公鑰放到服務器上(~/.ssh/authorized_keys), 自己保留好私鑰.在使用ssh登錄時,ssh程序會發送私鑰去和服務器上的公鑰做匹配.如果匹配成功就可以登錄了。

1、確認系統已經安裝了SSH。

rpm –qa | grep openssh

rpm –qa | grep rsync

-->出現如下圖的信息表示已安裝

假設沒有安裝ssh和rsync,可以通過下面命令進行安裝。

yum install ssh -->安裝SSH協議

yum install rsync -->rsync是一個遠程數據同步工具,可通過LAN/WAN快速同步多臺主機間的文件

service sshd restart -->啓動服務

2、 生成祕鑰對

ssh-keygen –t rsa –P ''  -->直接回車生成的密鑰對:id_rsa和id_rsa.pub,默認存儲在"/home/hadoop/.ssh"目錄下。

3、把id_rsa.pub追加到授權的key裏面去。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

4、修改授權key的權限

chmod 600 ~/.ssh/authorized_keys

5、修改SSH配置文件

su -  -->登陸root用戶修改配置文件

vim /etc/ssh/sshd_config -->去掉下圖中三行的註釋

6、測試連接

service sshd restart -->重啓ssh服務,

exit   -->退出root用戶,回到普通用戶

ssh localhost -->連接普通用戶測試

這只是配置好了單機環境上的SSH服務,要遠程連接其它的服務器,接着看下面。

7、現在祕鑰對已經生成好了,客戶端SSH服務也已經配置好了,現在就把我們的鑰匙(公鑰)送給服務器。

scp ~/.ssh/id_rsa.pub 遠程用戶名@遠程服務器IP:~/  -->將公鑰複製到遠程服務器的~/目錄下

如: scp ~/.ssh/id_rsa.pub [email protected]:~/

可以看到我們複製的時候需要我們輸入服務器的密碼,等我們把SSH配置好之後這些步驟就可以不用輸入密碼了。

8、上一步把公鑰發送到192.168.1.134服務器上去了,我們去134機器上把公鑰追加到授權key中去。(注意:如果是第一次運行SSH,那麼.ssh目錄需要手動創建,或者使用命令ssh-keygen -t rsa生成祕鑰,它會自動在用戶目錄下生成.ssh目錄。特別注意的是.ssh目錄的權限問題,記得運行下chmod 700 .ssh命令)

在134機器上使用命令:

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys  -->追加公鑰到授權key中

rm ~/id_rsa.pub  -->保險起見,刪除公鑰

同樣在134機器上重複第四步和第五步,

service sshd restart  -->重啓ssh服務

9、回到客戶機來,輸入:

ssh 192.168.1.134   -->應該就能直接連接服務器咯。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章