為了服務器的安全,運維人員經常會要求我們先登錄到跳板機,然后再SSH連接到目標服務器。但是這樣是很繁瑣的,每次在SecureCRT創建一個連接,都需要輸入SSH命令,然后輸入密碼。
下面的方法可以實現:SecureCRT自動連接到跳板機再自動連接到目標服務器。
1. 使用expect,自動輸入登錄密碼
正常的登錄流程是:
-
輸入SSH命令
ssh -l username 192.168.1.1 -p 22
-
輸入密碼
但是這樣太繁瑣了,需要兩步,通過expect,可以把這個過程整合到一個腳本中:
expect腳本:
login_192.168.1.1.sh
假如賬號密碼是:username my_password
#!/usr/bin/expect
spawn ssh -l username 192.168.1.1 -p 22
expect "*password:"
send "my_password\r"
interact
執行
expect login_192.168.1.1.sh
就可以登錄到192.168.1.1了,不需要輸入密碼。
expect的安裝方法可以上網查一下。
2. 設置CRT,建立連接的時候,自動執行login_192.168.1.1.sh腳本
創建一個可以連接上跳板機的Session。
設置:
Session Option - > Connection -> 選上Remote Command ->右邊的輸入框輸入expect login_192.168.1.1.sh
這樣連接這個Session的時候,就可以直接登錄到192.168.1.1
了