
다음과 같은 일련의 단계가 필요한 특정 설정이 있습니다.
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
루트 액세스 권한이 있는 경우 공개 키를 otheruser
authorized_keys에 배포하고 비밀번호를 사용하지 않고 로그인할 수 있습니다. 전환 후
otheruser
다음을 수행하십시오 .
mkdir -p ~/.ssh
공개 키를 ~/.ssh/authorized_keys에 넣으세요. 이제 otheruser
다음 작업을 수행하여 원격으로 로그인 할 수 있습니다 ssh otheruser@host
.