![비밀번호가 있는 점프 서버를 통한 SCP, 개인 키를 사용하여 대상 인증](https://linux55.com/image/119888/%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%EA%B0%80%20%EC%9E%88%EB%8A%94%20%EC%A0%90%ED%94%84%20%EC%84%9C%EB%B2%84%EB%A5%BC%20%ED%86%B5%ED%95%9C%20SCP%2C%20%EA%B0%9C%EC%9D%B8%20%ED%82%A4%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EB%8C%80%EC%83%81%20%EC%9D%B8%EC%A6%9D.png)
호스트 A에 앉아 비밀번호를 사용하여 점프 서버 B에 연결한 다음 개인 키(비밀번호 없음)를 사용하여 서버 C에 연결합니다. 거기에서 파일을 호스트 A에 복사하려고 합니다. 사용:
scp -oProxyJump=user1@serverB jump:"/home/user2/file.txt" /home/user1/Desktop/
작동하지 않습니다. 서버 B로 이동하기 위한 비밀번호를 요청하면 다음과 같은 결과를 얻습니다.
..
..
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /home/user1/.ssh/id_rsa
debug1: Trying private key: /home/user1/.ssh/id_dsa
debug1: Trying private key: /home/user1/.ssh/id_ecdsa
debug1: Trying private key: /home/user1/.ssh/id_ed25519
debug1: Next authentication method: keyboard-interactive
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: No more authentication methods to try.
Permission denied (publickey,keyboard-interactive).
분명히 문제는 scp가 서버 B(있는 곳)로 점프하는 대신 호스트 A의 키를 사용하려고 한다는 것입니다. 로컬 서버 대신 점프 서버의 인증 키를 사용하도록 scp에 지시하는 방법이 있습니까? 어쩌면 거기에:?
scp -o IdentityFile
SSH 구성 파일을 사용하지 않고 옵션이 있는 명령만 사용하는 것이 좋습니다
답변1
나는 그런 것이 없다고 생각합니다. 사용하면 ProxyJump
호스트 A의 SSH/SCP 클라이언트가 서버 B를 통해 터널링합니다. 즉, SSH/SCP 클라이언트가 서버 B에서 실행되지 않으므로 쉬운 방법이 없습니다. 호스트 B에서는 개인 키를 사용합니다.
요구 사항에 따라 다음이 해결책이 될 수 있습니다.
ssh serverB ssh jump cat /home/user2/file.txt > /home/user1/Desktop/file.txt