環境: リモート: 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 を実行するか、ファイルをユーザーのホームにコピーします)。