나는 다음과 같은 Jump Server (매우 기본적이고 간단한)를 적용해 보았습니다.여기.
로컬(나) -> 서버 점프 -> 원격 호스트
내 SSH 키는 점프 서버의authorized_keys에 저장되며 다음 설정을 갖습니다.
command="echo 'No access to shell, only for access to remote server'",no-pty,port-forwarding,permitopen="ip_adress:22" ssh-rsa AAAA
원격 호스트에 저장된 점프 서버 Shh 키
! 내 로컬 SSH 키가 원격 호스트 인증 키에 저장되어 있지 않습니다!
이후 점프 서버를 통해 원격 서버에 액세스할 수 있습니다.
ssh -J jump_server@ip_address root@remote_ip_address
괜찮습니다. 하지만 그러면 호스트를 점프하지 않고도 원격 서버에 연결할 수 있습니다! 왜?
ssh root@remote_ip_address
접근할 수 있어요! 왜? 이건 좋지 않아요! 점프서버를 통해서만 원격서버에 접속해야해요!
원격 서버에서 점프 서버의 공개키를 삭제하면 로컬에서도 접속이 안 되지만 점프 서버의 공개키를 원격 서버에 반환하고 나면 다시 점프 서버 없이 원격 서버에 접속이 가능해집니다! 무슨 일이에요?