1) 在堡壘機上建立無密碼的密鑰
ssh-keygen
2) 複制~/.ssh/id_rsa.pub到host1,host2,host3伺服器。我們要将它加入到root帳号的~/.ssh/authorized_keys中
ssh-copy-id -i .ssh/id_rsa.pub host1
ssh-copy-id -i .ssh/id_rsa.pub host2
ssh-copy-id -i .ssh/id_rsa.pub host3
3) 上傳成功後,可以在每台伺服器上的看到公鑰檔案
ls -l /root/.ssh/authorized_keys
4) 在堡壘機上啟用ssh-agent
eval `ssh-agent`
5) 使用 ssh-add 指令把我們的專用密鑰添加到 ssh-agent 的高速緩存中
ssh-add
6) 開啟ssh-agent轉發
編緝/etc/ssh/ssh_config檔案: ForwardAgent yes
讓ssh-agent能轉發,這樣就可以這樣登陸了:堡壘機---->host1---->host2,到此請注意,如果host1上沒有設定轉發的話就登不了host3了
7) 自動運作ssh-agent
/etc/profile.d下建一個ssh-agent.sh檔案
#!/bin/sh
if [ -f ~/.agent.env ]; then
. ~/.agent.env >/dev/null
if ! kill -0 $SSH_AGENT_PID >/dev/null 2>&1; then
echo "Stale agent file found. Spawning new agent..."
eval `ssh-agent |tee ~/.agent.env`
ssh-add
fi
else
echo "Starting ssh-agent..."
eval `ssh-agent |tee ~/.agent.env`
ssh-add
fi
ssh-agent 的 keychain 方法實作普通使用者以 root 方式登入伺服器:1) 在堡壘機上建立普通使用者tony
useradd tony
passwd 123456
2) 建立帶有密碼的密鑰
需要設定存放key的目錄,以及密碼,就能生成私鑰和公鑰
Generating public/private rsa key pair.
Enter file in which to save the key (/home/tony/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/tony /.ssh/id_rsa.
Your public key has been saved in /home/tony /.ssh/id_rsa.pub.
3) 複制~/.ssh/id_rsa.pub到運作sshd的伺服器。我們要将它加入到該使用者在伺服器上相應帳号的~/.ssh/authorized_keys中
ssh-copy-id -i .ssh/id_rsa.pub [email protected]
4) 上傳成功後,可以在192.168.1.1上的看到公鑰檔案
5) 下載下傳安裝keychain軟體
wget http://www.funtoo.org/archive/keychain/keychain-2.7.1.tar.bz2
tar jxvf keychain-2.7.1.tar.bz2
cd keychain-2.7.1
install -m 0755 keychain /usr/bin/
6) 在bash_profile裡面加入啟動腳本,每次使用者登入後就會執行keychain
/usr/bin/keychain --clear ~/.ssh/id_rsa ##開啟一個新的shell的時候提示輸入密碼,提高安全性
. ~/.keychain/$HOSTNAME-sh > /dev/null ##開啟一個新的shel啟用keychain
7) 建立新使用者www,也使用/home/tony /.ssh/id_rsa.和/home/tony /.ssh/id_rsa.pub,就能登入所有伺服器了
cat >> /home/www/.bash_profile <<EOF
/usr/bin/keychain --clear ~/.ssh/id_rsa
. ~/.keychain/$HOSTNAME-sh > /dev/null
EOF
mkdir /home/www/.ssh
cp /home/tony /.ssh/id_rsa* /home/www/.ssh