2012-11-08 125 views
1

我想編寫一個腳本,在我運行腳本後通過我的id(兩層認證)連接到我的服務器。終端的腳本

ssh [email protected]>password 

此認證多了一個身份驗證超級用戶身份驗證

username : 

password : 

我的操作系統後MAC。

+0

您應該使用RSA密鑰登錄。閱讀此:http://www.cyberciti.biz/faq/linux-generating-rsa-keys/ –

+0

通過RSA密鑰登錄。對於第二次認證,請檢查Expect腳本。 – halfelf

+0

閱讀本教程。 http://bash.cyberciti.biz/security/expect-ssh-login-script/ – sat

回答

0

讓所有事情都正確無誤,這樣才能「正常工作」。最差的記錄問題是對登錄目錄,.ssh目錄和.ssh目錄中的文件的正確保護。這是我用正確設置好一切的腳本:

#!/bin/tcsh -x 
# 
# sshkeygen.sh 
# 

# make sure your login directory has the right permissions 
chmod 755 ~ 

# make sure your .ssh dir exists and has the right permissions 
mkdir -pv -m 700 ~/.ssh 
chmod 0700 ~/.ssh 

# remove any existing rsa/dsa keys 
rm -f ~/.ssh/id_rsa* ~/.ssh/id_dsa* 

# if your ssh keys don't exist 
set keyname = "`whoami`_at_`hostname`-id_rsa" 
echo "keyname: $keyname" 

if(! -e ~/.ssh/$keyname) then 
    # generate them 
    ssh-keygen -b 1024 -t rsa -f ~/.ssh/$keyname -P '' 
endif 

cd ~/.ssh 

# set the permissions 
chmod 0700 *id_rsa 
chmod 0644 *id_rsa.pub 

# create symbolic links to them for the (default) id_rsa files 
ln -sf $keyname  id_rsa 
ln -sf $keyname.pub id_rsa.pub 

我還有一個腳本複製「在hostname -id_rsa.pub whoami」文件到一個共享服務器(如管理員),然後合併將其轉換爲該系統的.ssh/authorized_keys文件,然後將其複製回本地計算機。第一次運行這些腳本的用戶會被提示輸入共享服務器的管理員密碼,但之後所有內容都將「正常工作」。

哦,它是「Mac」(而不是「MAC」)。 [\ pedantic] ;-)