비밀번호가 있는 점프 서버를 통한 SCP, 개인 키를 사용하여 대상 인증

비밀번호가 있는 점프 서버를 통한 SCP, 개인 키를 사용하여 대상 인증

호스트 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

관련 정보