Пытаюсь скопировать файлы с сервера B на сервер A и получаю следующую ошибку:
root@server:~# scp /root/test.txt [email protected]:/home/somefolder/
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
lost connection
На сервере A я создал пару открытого/закрытого ключа без парольной фразы. На сервере B я добавил открытый ключ в файл .ssh/authorized_keys. Владельцем и папки, и файла является root.
Я изначально пробовал это с парольной фразой... так как это не сработало, я создал другой ключ без парольной фразы. Оба дают одинаковые результаты.
Это не проблема брандмауэра. Сервер A — Centos. Сервер B — Ubuntu.
решение1
Я столкнулся с той же проблемой. Надеюсь, это сработает для вас.
scp -rp -i yourfile.pem ~/local_directory username@instance_url:directory
Для осуществления этой работы также необходимо соответствующее разрешение.
решение2
Запустите scp в режиме verbose (-vvv) и посмотрите, сможете ли вы определить проблему. Возможно, разрешения на ваш файл .ssh/authorized_key на месте назначения (или даже на источнике) слишком открыты.
решение3
Оказывается, мне нужно было указать идентификатор в команде scp примерно так:
scp -rp -i /root/.ssh/server /home/user-data/* [email protected]:/home/user-data
где '/root/.ssh/server' — это местоположение закрытого ключа, который будет использоваться. Права доступа и владелец также должны быть правильными.
решение4
Что вы видите в /var/log/secure
файле? Вероятно, .ssh/*
у вас плохие права доступа.
Поэтому вы можете попробовать запустить ssh -v
команду, чтобы увидеть, в чем проблема.