2

Я попытался с помощью команды scp с параметром -i перенести файл с локального компьютера на удаленный экземпляр EC2:

Akhis-Macbook-Pro:~ aswinakhilesh$ sudo scp -i Mykey.pem FileA ec2-user@ec2-23-20-46-45.compute-1.amazonaws.com:/home/FileA

Вместо того, чтобы скопировать файл, я получаю следующее сообщение:

 Agent pid 2624

Akhis-Macbook-Pro:~ aswinakhilesh$ Identity added:
/home/.ssh/id_rsa (/home/id_rsa)

Моя папка .ssh в экземпляре ec2 содержит следующие файлы:

authorized_keys  
id_rsa  [Same as Mykey.pm, which is used with the -i option before]
known_hosts

Было бы здорово, если бы кто-то мог помочь мне здесь!

2 ответа2

2

Что у тебя в .bashrc?

sshd будет исходить .bashrc в вашем домашнем каталоге при соединении с scp. Похоже, что у вас есть что-то вроде eval `ssh-agent` в этом файле.

Если .bashrc отправляет что-либо в STDOUT при получении, это вызовет проблемы с scp (и, вероятно, с другими программами). Есть несколько способов справиться с этим, самый простой из которых - перейти на:

eval `ssh-agent`> /dev /null

Вы также можете проверить, установлен ли $ PS1, чтобы определить, является ли он интерактивной оболочкой, а затем использовать условные операторы.

1

Для меня это выглядит так, как будто ваш целевой путь неверен, по крайней мере обычный пользователь не должен иметь права на запись непосредственно в /home , однако это должно привести к отказу в разрешении для команды scp , но вы можете использовать

вместо:
ec2-user@ec2-23-20-46-45.compute-1.amazonaws.com:/home/FileA

следующие:
ec2-user@ec2-23-20-46-45.compute-1.amazonaws.com:~/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .