让linux的SSH客户端也能记住服务器的密码
From: http://blog.chinaunix.net/uid-17240700-id-2813900.html
CU上一位網友的問題如下:
??????? 以前一直用windows,最近工作原因換Ubuntu了,但是windows下的SSH客戶端(我用的是Netsarang公司的 Xshell,Xftp,Xmanager),linux沒有相應版本,嘗試了下putty,覺得很不好用,最重要的是要保存10多個服務器的密碼。說明一下,密碼是系統產生的隨機長串,無法記憶的,公司的運維統一管理的,所以別跟我說什么更換成key文件之類的,我就要找個Linux下可以保存密碼的 SSH客戶端,命令行還是圖形化界面都無所謂,謝謝大家!
??????? 我第一次看到問題時還在納悶,Linux自帶ssh命令,還需要ssh客戶端干什?后來一看,這位朋友是想記住服務器的密碼。
??????? 懶人!!
??????? 懶人有懶人的福,解決方案還是有的。
??????? 我的解決方案如下:
??????? 1. 先安裝sshpass
??????? 下載:wget http://nchc.dl.sourceforge.net/sourceforge/sshpass/sshpass-1.04.tar.gz
??????? 安裝:
??????? tar -zxvf sshpass-1.04.tar.gz
??????? cd sshpass-1.04
??????? ./configure
??????? make && make install
?????? ?
??????? 2. 再寫一個管理sshpass的BASH腳本.
??????? 腳本文件名為:/opt/program/bash/test.sh
??????? 腳本內容如下:
??????????????? #!/bin/bash
??????????????? cat <<MENU
??????????????? ??????? 1) localhost
??????????????? ??????? 2) 192.168.100.100
??????????????? ??????? 3) 加上你的主機
??????????????? MENU
??????????????? echo -n "Your choose:"
??????????????? read host
??????????????? case "$host" in
??????????????? ??????? 1)
??????????????? ??????????????? exec /usr/local/bin/sshpass -p 123456(這是我機器的密碼) ssh huabo@localhost
??????????????? ??????????????? ;;
??????????????? ??????? 2)
??????????????? ??????????????? exec /usr/local/bin/sshpass -p 123456 ssh huabo@192.168.100.100
??????????????? ??????????????? ;;
??????????????????????? 3)
??????????????? ??????????????? 你的登錄命令
??????????????? ??????????????? ;;
??????? ??????????????? *)
??????????????? ??????????????? echo "Error, No host"
??????????????? ??????????????? ;;
??????????????? esac
??????? 3.測試一下
??????????????? [root@server bash]# ./test.sh
??????????????? ??????? 1) localhost
??????????????? ??????? 2) 192.168.100.100
??????????????? Your choose:2
??????????????? Last login: Mon Jun 29 02:34:49 2009 from 192.168.100.100
??????????????? [huabo@server ~]$ ls
??????????????? opera.exe? zabbix-1.6.4? zabbix-1.6.4.tar.gz
??????????????? [huabo@server ~]$
??????? 測試成功!你只需把密碼寫到腳本里面,執行此腳本,選擇相應的主機就行了.
??????? 此腳本還可優化一下,搞成:test.sh localhost這種形式更方便。
??????? 此外還要注意一點,你需要先手動登錄一次,因為第一次登錄時會提示:
??????? ??????? Are you sure you want to continue connecting (yes/no)?
??????? (腳本沒考慮這點)
???????
??????? PS:你自己把密碼存腳本里的哈,出了問題不要怪我.
??????? (先前的expect腳本不對,這是第二版,放心用吧。非常感謝seaquester,推薦一下他的BASH腳本http://blog.chinaunix.net/u2/73823/showart.php?id=1982819)
總結
以上是生活随笔為你收集整理的让linux的SSH客户端也能记住服务器的密码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Tiny之Web工程构建
- 下一篇: 如何将Eclipse设置为中文简体