1 問題:Linux系統中的ssh軟件不能在直接在一行命令中指定密碼,從而無法在腳本中實現登錄並。
解決:使用putty軟件,其命令行工具為plink,plink 使用如下:
plink [options] [user@]host [command]
其選項部分可以指定采用ssh的方式並指定密碼登錄遠程主機。
安裝:
Ubuntu 直接使用sudo apt-get install putty
2 問題:ssh登錄遠程服務器時,在輸入完用戶名後需要等很長一段時間才會提示輸入密碼。
解決:
其實這是由於 sshd 需要反查客戶端的 dns 信息導致的。我們可以通過禁用這個特性來
大幅提高登錄的速度。首先,打開 sshd_config 文件:
sudo nano /etc/ssh/sshd_config
找到 GSSAPI options 這一節,將下面兩行注釋掉
#GSSAPIAuthentication yes #GSSAPIDelegateCredentials no然後重新啟動 ssh 服
務即可:
sudo /etc/init.d/ssh restart
3 確認sshserver是否啟動了:(或用“netstat -tlp”命令)
ps -e | grep ssh
如果只有ssh-agent那ssh-server還沒有啟動,需要/etc/init.d/ssh start,如果看到sshd那說明ssh-server已經啟動了。
另外幾個思考點:
1 ssh既然已經能夠實現用密碼登錄,那麼公鑰密鑰的作用是什麼?
2 能否用ruby來實現此功能?