[b]大致流程:[/b]
1.在客戶機建立一對金鑰檔案,包括公鑰檔案(~/.ssh/id_rsa.pub),私鑰檔案(~/.ssh/id_rsa).
2.把公鑰放到伺服器上(~/.ssh/authorized_keys),在使用ssh登入時,ssh程式會傳送私鑰去和伺服器上的公鑰做匹配。如果匹配成功就可以免密碼登入了
[b]準備工作(root許可權):[/b]
1.檢查ssh是否安裝
# rpm -qa | grep ssh
如若安裝顯示如下:
openssh-clients-5.3p1-81.el6.x86_64
openssh-5.3p1-81.el6.x86_64
openssh-server-5.3p1-81.el6.x86_64
libssh2-1.2.2-7.el6_2.3.x86_64
2.如果沒安裝,安裝ssh
# yum install -y openssh-server openssh-clients
3.驗證安裝成功
# ssh -v
4.修改ssh配置
使用root登入修改配置檔案:/etc/ssh/sshd_config,將以下的注釋去掉,如下:
port 22
hostkey /etc/ssh/ssh_host_rsa_key
hostkey /etc/ssh/ssh_host_dsa_key
rsaauthentication yes
pubkeyauthentication yes
authorizedkeysfile .ssh/authorized_keys
ignorerhosts yes
5.重啟ssh服務
# service sshd restart
[b]建立普通使用者:[/b]
1.建立使用者
# useradd hadoop
2.設定密碼
# passwd hadoop
3.切換為普通使用者
# su - hadoop
[b]配置ssh:[/b]
1.生成公鑰和私鑰
# ssh-keygen -t rsa
# cd .ssh
# ls
在.ssh目錄生成兩個檔案:
id_rsa :私鑰
id_rsa.pub :公鑰
2.匯入公鑰到認證檔案,更改許可權
切換為root使用者
# su - root
2.1 匯入本機
根據配置檔案/etc/ssh/sshd_config中的authorizedkeysfile項的取值:.ssh/authorized_keys,公鑰需要匯入到該檔案中才能實現校驗
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# chmod 600 authorized_keys
2.2 匯入要免密碼登入的伺服器
首先將公鑰複製到伺服器
# scp ~/.ssh/id_rsa.pub ***@host:/home/id_rsa.pub
然後,將公鑰匯入到認證檔案(這一步的操作在伺服器上進行)
#cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
注意:如果你想要每台機子都免密碼登入,那麼把每台機子產生的公鑰都新增到authorized_keys檔案中
2.3 在伺服器上更改許可權
# chmod 700 ~/.ssh
# chmod 600 ~/.ssh/authorized_keys
[b]注意:[/b]
1) .ssh目錄的許可權必須是700
2) .ssh/authorized_keys檔案許可權必須是600
CentOs 下ssh免密碼登入
1.檢查所有機器的openssh是否正常安裝 2.使用命令 ssh keygen t rsa 生成id rsa和id rsa.pub金鑰和公鑰 三次回車 三次回車表示生成的檔案預設位址 ssh和無密碼登入 3.進入到 ssh 目錄下 cat id rsa.pub authorized keys 4....
centos安裝ssh免密碼登入
之前搭建hadoop偽分布的時候需要shh,但那時很順利,沒出現什麼大問題,現在在裝了3臺虛擬機器,想搭建乙個真正的分布系統,結果在安裝ssh這個地方始終過不去。總結幾個出問題的地方 1 關閉selinux 具體就是將 etc selinux config 中的selinux設為disabled。2...
Linux下SSH免密碼登入
ssh配置 主機a 10.0.5.199 主機b 10.0.5.198 需要配置主機a無密碼登入主機a,主機b 先確保所有主機的防火牆處於關閉狀態。在主機a上執行如下 1.cd ssh 2.ssh keygen t rsa 然後一直按回車鍵,就會按照預設的選項將生成的金鑰儲存在.ssh id rsa...