前提:由於線上服務器過多,進而服務器上設置的賬戶密碼也多得記不過來,公司開發,測試,運維的同學都需要到線上進行代碼或者系統的維護又或者其他工作,牽扯到線上服務器的安全性,全面將服務器明文密碼收歸運維所有,需要登錄服務器的同學都必須使用ssh登錄,進而提高線上服務器的安全性。
系統配置:centos6.5 64bit
服務器01:192.168.1.20
服務器02:192.168.1.21
生成私鑰以及公鑰 :
在服務器01上執行:ssh-keygen -t rsa -b 4096 ;然後敲三次回車就可以生成私鑰以及公鑰,文件生成在/root/.ssh目錄下,文件分別爲id_rsa.pub、id_rsa兩個文件。
#/root/.ssh這個賬戶可以是你們需要ssh登錄的賬戶,可以是自己的用戶名又或者是worker。
#-t 指定要創建的密鑰類型。可以使用:"rsa1"(SSH-1) "rsa"(SSH-2) "dsa"(SSH-2)
#指定密鑰長度。對於RSA密鑰,最小要求768位,默認是2048位。DSA密鑰必須恰好是1024位(FIPS 186-2 標準的要求)。
然後將id_rsa.pub文件拷貝到服務器02上面的對應用戶的.ssh目錄下
#生成後需要對.ssh文件夾以及id_rsa.pub、id_rsa文件進行權限修改
#.ssh目錄修改爲600 chmod 600 .ssh
#id_rsa.pub、id_rsa文件修改爲700 chmod id_rsa.pub、id_rsa
將id_rsa.pub該文件scp到服務器02上去,scp -p22 192.168.1.21:/root/.ssh
如果服務器02上面沒有.ssh目錄就進行手動創建一下mkdir .ssh;進行權限修改,然後將id_rsa.pub文件名修改爲authorized_keys
測試ssh無密碼登錄
ssh 192.168.1.21
ps如果ssh操作失敗有多方面的原因
一、selinux的配置問題,關閉selinux
vim /etc/selinux/config
SELINUX=disabled
重啓服務器
二、iptables的配置問題,關閉防火牆或者添加IP過濾規則
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT