如何使用 SSH 从 aws 服务器下载文件?

如何使用 SSH 从 aws 服务器下载文件?

环境:远程: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

我想做的只是下载一个不属于 root 用户、而是由另一个用户拥有的文件,因此通常的 scp 魔法无法轻易发挥作用。

有什么建议么?

答案1

就我个人而言,我会调查为什么sftpscp不起作用。

从技术上讲你可以这样做:

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,或将文件复制到您用户的家中)。

相关内容