linux SSH免密碼登陸遠程服務器

背景:無密碼登陸,所謂的無密碼登陸實際上是指經過證書認證的方式登陸,使用一種‘公私鑰’認證的方式來進行ssh登陸html

在linux系統中,ssh是遠程登陸的默認工具,由於該工具的協議使用了RSA/DSA的加密算法。該工具作Linux系統的遠程管理是很是安全的。(telnet 由於其不安全性,在linux系統被擱置使用啦!!!)linux

「公私鑰」認證方式簡單的解釋:首先在客戶端建立一對公私鑰(公鑰文件:~/.ssh/id_rsa.pub; 私鑰文件:~/.ssh/id_rsa)。而後把公鑰放到服務器上(~/.ssh/authorized_keys),本身保留好私鑰。在使用ssh登陸時,ssh程序會發送私鑰去和服務器上的公鑰作匹配.若是匹配成功就能夠登陸了。算法

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

rpm –qa | grep openssh安全

rpm –qa | grep rsync服務器

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

假設沒有安裝ssh和rsync,能夠經過下面命令進行安裝。工具

yum install ssh -->安裝SSH協議oop

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

service sshd restart -->啓動服務

菜鳥Linux系列:[4]SSH免密碼登錄遠程服務器

2.生成祕鑰對

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

菜鳥Linux系列:[4]SSH免密碼登錄遠程服務器
菜鳥Linux系列:[4]SSH免密碼登錄遠程服務器

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

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

菜鳥Linux系列:[4]SSH免密碼登錄遠程服務器

4.修改受權key的權限

chmod 600 ~/.ssh/authorized_keys

菜鳥Linux系列:[4]SSH免密碼登錄遠程服務器

5.修改SSH配置文件

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

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

菜鳥Linux系列:[4]SSH免密碼登錄遠程服務器

6.測試鏈接

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

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

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

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

菜鳥Linux系列:[4]SSH免密碼登錄遠程服務器

如今祕鑰對已經生成好了,客戶端SSH服務也已經配置好了,如今就把咱們的鑰匙(公鑰)送給服務器。

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

如: scp ~/.ssh/id_rsa.pub hadoop@192.168.1.134:~/

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

菜鳥Linux系列:[4]SSH免密碼登錄遠程服務器

上一步把公鑰發送到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服務

 

回到客戶機來,輸入:

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

相關文章
相關標籤/搜索