叢集伺服器免密登入
阿新 • • 發佈:2018-12-21
現在有兩個伺服器,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