這個文章主要寫的是通過 ssh 方式遠端無密碼通路,使用RSA的公鑰。兩個機器 的作業系統 都為centos6.5_64
機器 | 機器hadoop0 | ----去通路----> | 機器hadoop1 |
使用者名 | test0 | test1 (說明兩個使用者都不是root組的使用者) | |
ip | 192.168.100.114 | 192.168.100.149 | |
主機名 | hadoop0 | hadoop1 (說明: 修改主機名:vim /etc/sysconfig/network) | |
hosts ( /etc/hosts ) | 192.168.100.114 hadoop0 192.168.100.149 hadoop1 | 192.168.100.114 hadoop0 192.168.100.149 hadoop1 | |
一. 機器hadoop0 生成 rsa的key
使用者:test0 1. 在目錄 /home/test0下 執行指令 ssh-keygen -t rsa , 執行指令過程中會有三次輸入,都直接铵回車Enter鍵便可, 然後會在 .ssh 隐藏目錄下生 id_rsa 和 id_rsa.pub 兩個檔案,即私鑰和公鑰檔案
2. 複制公鑰檔案 id_rsa.pub内容到一個新檔案 authorized_keys檔案中 cp id_rsa.pub authorized_keys
二. 機器hadoop1
1. 在root使用者下,修改 vim /etc/ssh/sshd_config 檔案,找到
Port 22 (去掉前面的#) RSAAuthentication yes (去掉前面的#) 允許rsa 驗證 PubkeyAuthentication yes (去掉前面的#) 允許公鑰驗證 AuthorizedKeysFile .ssh/authorized_keys (去掉前面的#) 驗證key檔案位置
2.重新開機ssh,在root使用者下 執行 service sshd restart 或者 /etc/init.d/sshd restart 3. 在使用者test1下,進入檔案夾/home/test1下面,建立隐藏檔案夾 .ssh
三. 機器hadoop0
使用者: test0 1.把檔案 /home/test0/.ssh/authorized_keys 複制到 機器hadoop1的/home/test1/.ssh/ 目錄下面 執行 cd ~ , 進入/home/hxd目錄下 執行 scp .ssh/authorized_keys [email protected]:/home/test1/.ssh/ 執行過程中會有進度提示
說明: 要能root使用者名方式操作機器hadoop1 複制前會提示輸入密碼,請輸入
有時在同一台機器會有這種需求,把一個檔案bb.txt 中的内容追加到aa.txt檔案中, 則執行 cat bb.txt >> aa.txt 有人說到要把 機器hadoop1的/home/test1/.ssh/authorized_keys 檔案,要修改成使用者test1的對應權限 600,可以先檢視下,其實它複制過去時已經擁有了這個權限 2. 成功複制檔案到機器hadoop1後 嘗連接配接到 機器hadoop1 測試 ssh -v [email protected] 執行測試指令過程中會提示以test1登入機器hadoop1的密碼,則請輸入。
3. 正式連接配接 ssh [email protected] 提示:
不用再輸入密碼成功完成