Новичок в Ubuntu, я вошел на удаленный сервер моего учреждения, сгенерировав пару закрытый/публичный ключ. После отправки администратору открытого ключа я получил имя пользователя. Я должен был войти, используя ssh myusername@servername
, но я могу войти, только если заменю имя сервера IP-адресом, ssh myusername@xxx.xx.x.xx
Теперь, желая загрузить файл, я попробовал:
scp ~/myfile.rds myusername@servername:/home/myusername/
... что дало мне сообщение Permission denied (publickey). lost connection
. Администратор предложил попробовать еще раз, заменив servername на IP-адрес. Это имеет смысл, но ответ все тот же.
Мой файл конфигурации, сохраненный по адресу \\\wsl$\Ubuntu\home\myUbuntuUsername\.ssh
вместе с двумя ключами, гласит:
Host servername
HostName xxx.xx.x.xx
Port 22
User myusername
IdentityFile ~/.ssh/id_ed25519
...где ~/.ssh/id_ed25519
- путь к закрытому ключу. Что я мог сделать неправильно?
Указание имени пользователя в командах ssh
и scp
не требуется, поскольку это значение уже есть в вашем ~ / .ssh / config
файл. Вместо этого вы можете сделать это:
ssh servername
Для scp
то же самое:
scp myfile.gz servername:/path/to/save
В качестве альтернативы вы можете передать ключевой файл для использования с -i
:
scp -i ~/.ssh/id_ed25519 myfile.gz user@123.123.123.123:/path/to/save