환경: 원격: AWS - RHEL 7.2 로컬: Ubuntu 16.04
인증을 위해 .pem 파일을 직접 사용하여 SSH를 통해 AWS 상자에 연결합니다. 대략 다음과 같습니다.
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 데몬과 함께 사용됩니다.
p.s., 다른 사용자의 파일을 얻으려면 사용자에게 파일에 대한 읽기 권한이 있는지 확인하십시오(chmod/chown 또는 파일을 사용자의 홈에 복사).