2011-12-09 65 views
0

我有一個vncsession運行在服務器上。現在,每當我打開一個新的終端時,我必須ssh到另一臺服務器。 到目前爲止,我已經能夠設置ssh,以便它不要求爲此特定服務器輸入密碼。但我無法在新終端中自動執行此操作。如果我將ssh命令添加到.tcshrc,它將進入遞歸循環 - ssh到服務器,執行.tcshrc,ssh到服務器,等等。如何自動登錄到ssh服務打開新的終端

我正在使用Linux,cshell,Gnome設置。

+0

你在用什麼終端? cshell? – DipSwitch

+0

如果兩個盒子都有相同的.tcshrc文件?否則這將意味着你會再次連接到自己的盒子,而不是遠程服務器... – DipSwitch

+0

@DipSwitch 我正在使用cshell。在OP中更新。 其實我使用的是我的主目錄中的tchrc文件,該文件被掛載在兩個盒子上(在/ home/my_username)。所以,是的,我使用相同的tcshrc。 – deeJ

回答

2

你應該做一個主機名檢查。或者你可以認識到客戶和目標之間的差異。我不知道cshell腳本,但在SH,你會想要做的事,如:

# Shell: 
if [ $HOSTNAME == "vncserver" ]; then 
    ssh $TARGET_BOX; 
fi; 

# Cshell: 
if ($HOSTNAME == vncserver) 
    ssh $TARGET_BOX; 
endif 

這將強制執行,只有svnserver將ssh登錄到遠程系統和遠程系統將無法ssh到自身。

0

我使用ssh-agent和keychain,它像一個魅力一樣工作,並允許在服務器上保持一些安全。這裏是another keychain教程(對不起,只用法語書寫)。只需將您的鑰匙串命令放入您的bashrc或在tty start下運行的配置文件即可。

相關問題