其實就是使用指令碼來代替我們輸入命令:
1.新建乙個ss**件
這裡我在使用者目錄下新建乙個資料夾,存放我們的ss**件
mkdir sshconfig
cd sshconfig
vim test1.ssh
2.寫指令碼
上半部分是定義我們的使用者名稱,密碼,埠,***部分按照你自己的填寫就行了
#!/usr/bin/expect -f
set user root
set host ***.***.***.***
set password ***
set port xx
set timeout -1
spawn ssh $user@$host -$port
expect "password:*"
send "$password\r"
interact
3.執行expect test1.ssh
大功告成!這樣既不需要其他遠端軟體,也不需要手輸賬密了。缺點是每個伺服器都需要建立乙個ss**件。
2020.04.01更新
發現用這種方法登陸會導致無法用rzsz命令,我們可以使用乙個shell指令碼解決:
#!/bin/sh
export lc_ctype=en_us
expect ss**件路徑
另存為s**件,每次執行這個指令碼就行了
不過既然已經使用了shell指令碼,我們就沒必要每個ssh都對應乙個shell指令碼了,我們可以把它們匯集到一起,通過輸入序號選擇伺服器:
#!/bin/sh
echo "===伺服器列表==="
echo "1.a伺服器"
echo "2.b伺服器"
echo "3.c伺服器"
echo "4.d伺服器"
echo "***************="
echo "請輸入您要登入的伺服器序號:"
read sort
clear
export lc_ctype=en_us
case $sort in
"1" )
expect ss**件路徑
;;"2" )
expect ss**件路徑
;;"3" )
expect ss**件路徑
;;"4" )
expect ss**件路徑
;;* )
echo "您輸入的序號不正確!"
esac
這樣,每次執行這乙個sh就行了。 ssh遠端免密登入
1 生成金鑰 ssh keygen 2 將公鑰傳到遠端伺服器 ssh copy id i ssh id rsa.pub p 22 root 伺服器ip 3 設定別名登入 host server 12 hostname 192.168.200.12 port 22 user root identity...
mac設定免密登入linux
筆者翻閱了無數的辦法,都是千篇一律,但是筆者在進行的過程中遇到不少的問題,最後,筆者把之前的做法全刪了,重新按照下文所著進行一次就成功了。總結tips 1 必須要保證mac的ssh是已經載入並開啟了的。sudo launchctl list grep ssh 檢視mac上的ssh是否已經開啟 sud...
Linux 配置遠端免密登入
使用ssh keygen命令生成金鑰對 ssh keygen t rsa t表示型別選項,這裡採用rsa加密演算法 使用ssh copy id命令將公鑰複製到遠端主機。ssh copy id會將公鑰寫到遠端主機的 ssh authorized key 檔案中 ssh copy id ldz 192....