환경: 원격: AWS - RHEL 7.2 로컬: Ubuntu 16.04
인증을 위해 .pem 파일을 사용하여 AWS 상자에 직접 SSH를 통해 다음과 같이 연결합니다.
ssh -i /home/<user>/<path>/<serverkey>.pem ec2-user@ec2-<awsserver>.us-west-2.compute.amazonaws.com
내가 하고 싶은 것은 단순히 루트 사용자가 소유하지 않은 파일을 다운로드하는 것입니다. 그러나 다른 사용자가 소유하므로 일반적인 scp 마법이 쉽게 작동하지 않습니다.
어떤 제안이 있으십니까?
답변1
sftp
개인적으로 나는 왜 또는 scp
작동하지 않는지 조사할 것입니다 .
기술적으로 다음을 수행할 수 있습니다.
ssh -t user@host 'cat /path/to/file' > out.file
이건 아마아니다동일한 파일을 생성하지만 원하는 것에 충분할 수도 있습니다.
예를 들어, 내 테스트 케이스 전송에서는 CRLF(dos) 줄 종결자가 있는 파일이 생성되었고 원본에는 LF(unix)가 있었습니다. 솔직히 말해서 왜 그런지 모르겠습니다. 나머지 파일은 동일했습니다. 바이너리 파일도 테스트되지 않았습니다.
테스트는 Linux에서 FreeBSD로 수행되었습니다.
답변2
ssh — OpenSSH SSH client (remote login program)
scp — secure copy (remote file copy program)
sftp — secure file transfer program
scp나 sftp를 사용하세요. 예제 사용법;
scp [email protected]:/home/ec2-user/.bashrc download-bashrc.txt
세 가지 모두 ssh 데몬과 함께 작동합니다.
ps. 다른 사용자의 파일을 얻으려면 사용자에게 파일에 대한 읽기 액세스 권한이 있는지 확인하십시오(chmod/chown 또는 파일을 사용자의 홈에 복사).