어떻게 "inner"ssh 세션으로 명령을 보낼 수 있습니까?


32

로컬 컴퓨터에서 서버 ( "Wallace"라고 함)에 로그인 ssh하고 다른 서버 ( "Gromit"이라고 함)에 로그인 한 시나리오를 상상해보십시오.

laptop ---ssh---> Wallace ---ssh---> Gromit

그런 다음 Wallace에서 Gromit까지의 ssh 세션이 중단되고 종료하고 싶습니다. ~.ssh를 죽이려고 입력 하면 해당 ssh 세션 ~이 인터셉트 하여 Wallace로 ssh 세션을 종료하고 세션 .을 종료하는 명령으로 사용됩니다. Wallace와 Gromit 사이의 ssh 세션에 명령을 보내려면 어떻게해야합니까? "내부"ssh를 어떻게 죽이나 요?


참고 : 일부 키보드 레이아웃은 하나의 '~'문자를 인쇄하기 위해 '~'키를 두 번 눌러야 할 수도 있습니다. 나는 종종 화면을 사용하므로 ssh 연결이 끊어지면이 세션을 죽이는 다른 쉘을 시작할 수 있습니다.
math

답변:


42

다른 물결표를 추가하십시오 (예 :) ~~.. 각 연속 물결표는 아직 먹지 않은 가장 바깥 쪽 ssh 세션에서 먹지만 다음 문자가 다른 물결표이면 다음 세션으로 전달됩니다.

gromit 1 에서 세 번째 호스트로 ssh'ed 한 경우 (wensleydale이라고 함) ~~~.세션을 wensleydale로 드롭하고 gromit에 대한 프롬프트로 돌아갑니다.

1 그리고 얼마나 훌륭한 서버입니까; 개발자의 "크래킹 호스트, 그로밋"이라는 말을 얼마나 자주들을 수 있습니까?


2
관련 : 텔넷 노래
voretaq7

1
오, 그거 놀랍습니다. 나는 전에 그것을 보지 못했다는 것을 믿을 수 없다.
MadHatter는 Monica

만약 당신이 가지고 laptop --> Wallace --> Gromit --> Shaun --> Timmy있거나 그렇게 미쳤던 경우에 당신이 얼마나 멀리 떨어져 있는지 시각적 피드백을 얻을 수있는 방법이 있다면 좋을 것 입니다.
iconoclast

-2

임의의 명령을 실행하고 가장 안쪽 쉘의 출력을 변수로 잡을 수 있습니다.

export output=`echo some_cmd | ssh user@host |  echo some_cmd2 | ssh user2@host2`

1
이것은 매우 흥미롭지 만 질문과 어떻게 관련이 있는지 잘 모르겠습니다. 설명 할 수 있습니까?
iconoclast
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.