簡易命令登陸ssh服務器

登陸ssh服務器需要賬號與密碼,而往往我們需要頻繁的登陸與登出或者切換服務器,會很繁瑣。其實可以使用expect來實現簡易命令登陸ssh服務器,比如一個“go”~

一、安裝expect

#ubuntu
sudo apt-get install expect
#Mac
需要源碼編譯安裝tcl與expect,自行搜索

若不成功,先更新下源再安裝

sudo apt-get update

二、登陸腳本

#!/usr/bin/expect

# 設定超時時間爲3秒
set timeout 3

set USRNAME "你的賬戶名@ip地址"

set PASSWORD "你的密碼"

# fork 一個子進程執行 ssh 命令
spawn ssh -X "$USRNAME"

# 期待匹配到 'user_name@ip_string's password:' 
expect "*password*"

# 向命令行輸入密碼並回車
send "$PASSWORD\n"

# send "sudo -s\r" 

# 幫我切換到常用的工作目錄
# send "cd /data/logs\r"

# 允許用戶與命令行交互
interact

修改上面的

set USRNAME "你的賬戶名@ip地址"

set PASSWORD "你的密碼"

將此文本保存成一個sh文件,比如go.sh

三、修改.bashrc

#ubuntu
vim ~/.bashrc
#Mac
vim ~/.bash_profile

添加一行

alias go='/home/ubuntu/bash/go/go.sh'

這裏的go.sh爲剛纔保存腳本的存放路徑,之後

#ubuntu
source ~/.bashrc
#Mac
source ~/.bash_profile

即可在終端中使用“go”來實現登陸ssh服務器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章