1. 程式人生 > >CentOS ssh免密碼登入

CentOS ssh免密碼登入

    在搭建Hadoop環境的時候,需要設定一下免密碼登入。

    之前做過一次免密是成功的,最近又做了一次,居然不成功。。。很鬱悶,很納悶,

    下面把我的操作步驟和經驗分享一下:

系統:虛擬機器CentOS 6.5

使用者名稱:hadoop

域名:hadoop1

預設情況下OpenSSH是已經安裝好的。


操作步驟:

1.生成公鑰私鑰

切換到使用者資料夾

/home/hadoop/.ssh  或 ~/.ssh

注意:.ssh檔案是隱藏檔案,預設情況下是看不到資料夾的,可以使用命令"ll -a

"檢視(老司機請忽略)。

使用下面命令生成公鑰私鑰

命令:ssh-keygen -t rsa -P ''

注意:上面的命令的空格不要多了少了。

將生成的公鑰輸出到新建檔案authorized_keys 檔案中(該檔名就是配置檔案中配置的名稱AuthorizedKeysFile .ssh/authorized_keys

命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys


2.給檔案賦正確的許可權

檢查許可權,不滿足的請給許可權,預設不需要修改( chmod 700 .ssh chmod 600 id_rsa chmod 644 authorized_keys )

修改許可權命令:chmod xxx filename

注意:檔案許可權不能給太大,否則免密登入會失敗(我就是把私鑰的許可權給了777導致免密失敗的)。


3.修改SSH配置檔案

配置檔案目錄位置:/etc/ssh/sshd_config

命令:vi sshd_config

修改內容:將配置檔案中下面三行註釋放開,並修改成如下:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys


4.重啟SSH服務

設定完後,需要重啟SSH服務

命令:service sshd restart

注意:可能使用者許可權不足,可以切換到root使用者執行重啟命令

檢視服務狀態:service sshd status


5.驗證SSH免密

命令:ssh hadoop1

下面是成功的情況:

[[email protected] .ssh]$ ssh hadoop1
Last login: Mon Dec 26 21:33:42 2016 from hadoop1