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

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

私がやりたいのは、単にルートユーザーではなく別のユーザーが所有するファイルをダウンロードすることなので、通常の 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

これら 3 つはすべて ssh デーモンで動作します。

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

関連情報