1. 程式人生 > >叢集伺服器免密登入

叢集伺服器免密登入

現在有兩個伺服器,ip分別為172.16.0.230和172.16.0.221

修改伺服器的hostname

在172.16.0.230上修改/etc/hostname的內容為

master2

在/etc/hosts中新增內容為

172.16.0.230    master2
172.16.0.221   master1

在172.16.0.221上修改/etc/hostname的內容為

master1

在/etc/hosts中新增內容為

172.16.0.230    master2
172.16.0.221   master1

兩臺伺服器重啟,hostname生效。

為使用者新增sudo許可權,並設定免密sudo

先新增使用者

useradd -d /home/user1 -m user1
passwd user1     # 設定user1的使用者密碼

新增sudo許可權:

echo "user1 ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/user1
sudo chmod 0440 /etc/sudoers.d/user1

最好直接在/etc/sudoers中新增

user1 ALL = (root) NOPASSWD:ALL

安裝ssh

兩臺伺服器上執行下面的命令

apt-get update
apt-get install openssh-server

安裝是ssh2的協議,所以可能會與ssh1的使用有些不同。

生成公鑰私鑰

在兩臺伺服器上執行

ssh-keygen  -t rsa
一路回車,會在~/.ssh/目錄下生成id_rsa  私鑰, id_rsa.pub  公鑰

設定許可權(一定要設定正確的許可權,才能正常訪問)

chmod 700 ~/.ssh/  
chmod 600 ~/.ssh/id_rsa 
chmod 600 ~/.ssh/id_rsa.pub   
chmod 644 ~/.ssh/known_hosts  
chmod 600 ~/.ssh/authorized_keys 

配置hostname免密訪問

在兩臺伺服器上的~/.ssh/config加入

Host master1
    HostName 172.16.0.221
    Port 22
    User root
    IdentityFile  ~/.ssh/id_rsa

Host master2
    HostName 172.16.0.230
    Port 22
    User root
    IdentityFile  ~/.ssh/id_rsa

在兩臺伺服器上執行

將公鑰共享給遠端伺服器,並輸入密碼
ssh-copy-id -i ~/.ssh/id_rsa.pub master1 -f
ssh-copy-id -i ~/.ssh/id_rsa.pub master2 -f

以後在兩臺伺服器上下面的命令就不需要設定免密了。

ssh master1
ssh master2