Как загрузить файл с сервера aws с помощью SSH?

Как загрузить файл с сервера aws с помощью SSH?

Среда: Удалённо: AWS - RHEL 7.2 Локально: Ubuntu 16.04

Я подключаюсь по SSH к AWS напрямую, используя файл .pem для аутентификации, что-то вроде этого:

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, либо скопируйте файл в домашнюю папку вашего пользователя).

Связанный контент