Linux

如何管理經常訪問的主機列表?

  • October 4, 2021

如何快速選擇並登錄需要通過ssh訪問的多台主機?我正在建構一個類似於下面的 shell 腳本,用於dialog從命令行顯示主機菜單,但我很好奇是否有更好的方法。

#!/bin/dash
tempfile=`tempfile 2>/dev/null` || tempfile=/tmp/test$$
trap "rm -f $tempfile" 0 1 2 5 15

while [ 1 ]
do
   dialog --menu "Select Host" 0 0 0 \
   "hostname1" "Host description 1" \
   "hostname2" "Host description 2" \
   "hostname3" "Host description 3" 2> $tempfile

   HOSTNAME=`cat $tempfile`

   if [ "x" = "x$HOSTNAME" ]; then
       break
   fi

   ssh $HOSTNAME
done

我喜歡在我的客戶端機器上的 ~/.ssh/config 文件中為每個主機設置一個短名稱。這是一個例子:

Host host1
   HostName     longhostname.mydomain.com 
   User         remoteuser
   IdentityFile ~/ssh-keys/id_rsa-my-keypair

這樣我就可以輸入“ssh host1”並立即登錄。

對於基於 GUI 的解決方案,請查看SSHmenu

引用自:https://serverfault.com/questions/95769