web-dev-qa-db-ja.com

SSHを使用してAWSサーバーからファイルをダウンロードするにはどうすればよいですか?

環境:リモート: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

私がやりたいのは、rootユーザーではなく、別のユーザーが所有するファイルをダウンロードするだけなので、通常のscpマジックは簡単には機能しません。

助言がありますか?

2
Lefty G Balogh

個人的には、sftpまたはscpが機能しない理由を調べます。

技術的には次のことができます。

ssh -t user@Host 'cat /path/to/file' > out.file

これは[〜#〜] not [〜#〜]同一のファイルを生成する可能性がありますが、必要なものには十分な場合があります。

たとえば、私のテストケース転送では、CRLF(dos)ラインターミネータを含むファイルが生成され、元のファイルにはLF(unix)-正直な理由がわかりません。ファイルの残りの部分バイナリファイルもテストされていません。

テストはLinuxからFreeBSDまで実行されました。

4
Tigger
 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

3つすべてがsshデーモンで動作します。

pS、別のユーザーのファイルを取得するには、そのユーザーがファイルへの読み取りアクセス権を持っていることを確認してください(chmod/chown、またはファイルをユーザーのホームにコピーしてください)。

2
mikejonesey