環境:遠端: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
就我個人而言,我會調查為什麼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 守護程序一起使用。
ps,要取得其他使用者的文件,請確保您的使用者俱有該文件的讀取權限(chmod/chown,或將檔案複製到您使用者的家中)。