Новичок в Ubuntu, я вошел на удаленный сервер своего учреждения, сгенерировав пару закрытый/открытый ключ. Я был настроен с именем пользователя после отправки администратору открытого ключа. Я должен был войти, используя, ssh myusername@servername
но я могу войти, только если заменю имя сервера на IP-адрес,ssh [email protected]
Теперь, желая загрузить файл, я попробовал:
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
путь к закрытому ключу. В чем я мог ошибиться?
решение1
Указание имени пользователя в ваших командах ssh
и scp
не обязательно, так как значение уже есть в вашем ~/.ssh/config
файле. Вместо этого вы можете сделать это:
ssh servername
Потому что scp
это одно и то же:
scp myfile.gz servername:/path/to/save
В качестве альтернативы вы можете передать файл ключа для использования с -i
:
scp -i ~/.ssh/id_ed25519 myfile.gz [email protected]:/path/to/save