Mobaxterm 세션을 SSH 구성 형식 또는 YAML/JSON으로 변환하는 방법은 무엇입니까?

Mobaxterm 세션을 SSH 구성 형식 또는 YAML/JSON으로 변환하는 방법은 무엇입니까?

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

1위 grep "tinnd.id_rsa" moba.sessions

SSH 세션을 RDP, VNC와 같은 다른 세션과 분리하는 데 사용됩니다. 파일에 SSH 세션만 포함된 경우 이 과정을 건너뛰거나 변경하세요.Tinnd.id_rsa

2위 awk 'match($0, /#109#0.+?(?:bad(*FAIL)|%.+%tinnd)/) { print substr($0, 1, RSTART) substr($0, RSTART+7, RLENGTH-14) }'

귀하의 사용자 이름을 내 사용자 이름으로 바꿀 수 있습니다주석

3번째 sed 's/\=\#/\ /g' | sed 's/\ -\ /-/g' | sed 's/\=\ \#/\ /g' | sed 's/\ \]/\]/g' | sed 's/\ \[/\[/g' | sed 's/\%/\ /g'

그런 다음 호스트 이름에서 공백, 특수 문자를 사용하는 경우 제거하십시오.sed

4번째 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로 전환하려는 모든 사람에게 도움이 되기를 바랍니다.

관련 정보