멀티홉 SSH 구성 및 "sudo su"

멀티홉 SSH 구성 및 "sudo su"

다음과 같은 일련의 단계가 필요한 특정 설정이 있습니다.

ssh me@host1
ssh me@host2
sudo su otheruser

나는 가지고있다:

  • 내 노트북에는 다음을 허용하는 SSH 키가 있습니다.ssh me@host1
  • Host1의 SSH 키를 사용하면 ssh me@host2.

그래요아니요권리가 있음 ssh otheruser@host2.

내 목표는: 이것을 자동화할 수 있습니까? 내 노트북의 ~/.ssh/config 파일에 있는 것이 바람직하므로 간단히 다음을 수행할 수 있습니다.

ssh otheruser

...구성에서 비밀번호를 포함한 세부 정보를 처리하도록 하시겠습니까?

다음 SSH 구성을 사용하면 이미 2/3 경로를 얻을 수 있습니다.

Host host1
HostName host1.example.com

Host host2
HostName host2.example.com

Host mostly_there
HostName host2.example.com
ProxyJump host1 host2

위의 내용을 통해 이 작업을 수행할 수 있지만 ssh mostly_there여전히 수행해야 합니다 sudo su otheruser.

답변1

.ssh/config에서 이것을 사용할 수 있습니다:

HOST host1
  user me

HOST host2
    USER me
    ProxyCommand ssh host1 -W %h:%p

HOST otheruser
    USER me
    ProxyCommand ssh host1 -W %h:%p
    RemoteCommand sudo su -c '/bin/bash -i' otheruser

otheruser 사용자를 사용하여 호스트2에 연결하려면 다음을 사용하세요.

ssh otheruser

현재는 완전한 대화형 셸이 아니지만 다음과 같은 방법으로 액세스할 수 있다는 단점이 있습니다./bin/bash -i

답변2

루트 액세스 권한이 있는 경우 공개 키를 otheruserauthorized_keys에 배포하고 비밀번호를 사용하지 않고 로그인할 수 있습니다. 전환 후 otheruser다음을 수행하십시오 .

mkdir -p ~/.ssh

공개 키를 ~/.ssh/authorized_keys에 넣으세요. 이제 otheruser다음 작업을 수행하여 원격으로 로그인 할 수 있습니다 ssh otheruser@host.

관련 정보