다중 홉 및 "sudo su"에 대한 ssh 구성
Oct 16 2020
이 일련의 단계가 필요한 특정 설정이 있습니다.
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 jeb Oct 20 2020 at 06:17
.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로 host2에 연결하려면 다음을 사용하십시오.
ssh otheruser
현재는 완전한 대화 형 셸이 아니라는 단점이 있지만 더 나은 호출로 해결할 수 있습니다. /bin/bash -i
ArkadiuszDrabczyk Oct 16 2020 at 18:10
루트가있는 경우 공개 키를 otheruser의 authorized_keys에 배포 하고 비밀번호를 사용하지 않고 로그인 할 수 있습니다. otheruser이렇게 전환 한 후 :
mkdir -p ~/.ssh
공개 키를 ~ / .ssh / authorized_keys에 넣으십시오. 이제 otheruser를 수행하는 것처럼 원격으로 로그인 할 수 있습니다 ssh otheruser@host.