歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux系統SSH免密碼登陸遠程服務器的技巧

Linux系統SSH免密碼登陸遠程服務器的技巧

日期:2017/3/1 17:25:49   编辑:Linux技術

搭建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 --

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

9、

回到客戶機來,輸入:ssh 192.168.1.134 -->應該就能直接連接服務器咯。
回到客戶機來,輸入:ssh 192.168.1.134 -->應該就能直接連接服務器咯。

相關推薦:

LINUX系統怎麼使用命令清理磁盤空間?

linux常怎麼使用命令創建文件和文件夾?

Linux怎麼配置雙機SSH互相信任實現免密碼登錄?

Copyright © Linux教程網 All Rights Reserved