
我正在使用 Mobaxterm 並且有很多會話,所以我無法手動將它們全部轉換為 SSH 配置格式,如下所示:
莫巴克斯術語
K8s-TEST - [127.0.0.1]=#109#0%127.0.0.1%22%tinnd%%-1%-1%%%22%%0%0%0%_ProfileDir_\secret\tinnd.ssh\tinnd.ppk%%-1%0%0%0%%1080%%0%0%1#Mono Nerd Font%14%0%0%0%15%248,248,242%39,40,34%255,128,0%3%-1%0%%xterm%-1%6%0,0,0%85,85,85%249,38,114%221,66,120%166,226,46%157,197,75%230,219,116%209,202,137%102,217,239%122,204,218%174,129,255%179,146,239%0,217,217%200,240,240%245,222,179%255,255,255%80%24%0%1%-1%<none>%%0#0# #-1
到 -> Linux SSH .ssh/config
,我只關心Hostname
,IP
並且port
,
Host K8S-TEST-MASTER-127.0.0.1
hostname 127.0.0.1
user tinnd
port 22
identityfile "/home/mint/.ssh/id_rsa"
或 YAML/JSON(如果可以的話)。
答案1
第一名 grep "tinnd.id_rsa" moba.sessions
用於將 SSH 會話與其他會話(如 RDP、VNC)分開。如果您的檔案僅包含 SSH 會話,您可以跳過此步驟或請更改tinnd.id_rsa
第二名 awk 'match($0, /#109#0.+?(?:bad(*FAIL)|%.+%tinnd)/) { print substr($0, 1, RSTART) substr($0, RSTART+7, RLENGTH-14) }'
您可以用我的用戶名替換您的用戶名廷德
第三名 sed 's/\=\#/\ /g' | sed 's/\ -\ /-/g' | sed 's/\=\ \#/\ /g' | sed 's/\ \]/\]/g' | sed 's/\ \[/\[/g' | sed 's/\%/\ /g'
然後刪除主機名稱中的空格和特殊字元(如果您確實使用過)sed
第四名 awk '{ system("storm add " $1 " tinnd@" $2 ":" $3 --id_file "~/.ssh/id_rsa")}
最後,使用工具將這些主機新增至.ssh/config stormssh
,您必須從以下形式安裝它pip install stormssh
第一的
將所有內容合併為一個命令
grep "tinnd.ssh" moba | awk 'match($0, /#109#0.+?(?:bad(*FAIL)|%..%tinnd)/) { print substr($0, 1, RSTART) substr($0, RSTART+7, RLENGTH-14) }' | sed 's/\=\#/\ /g' | sed 's/\ -\ /-/g' | sed 's/\=\ \#/\ /g' | sed 's/\ \]/\]/g' | sed 's/\ \[/\[/g' | sed 's/\%/\ /g' | awk '{ system("storm add " $1 " tinnd@" $2 ":" $3 --id_file "~/.ssh/id_rsa")}
希望這個正規表示式可以幫助任何想要從 Windows 切換到 Linux 的人。