Разрешение SSH отказано (открытый ключ)

Я только что установил VirtualBox и Vagrant на свой компьютер и инициализировал коробку ubuntu / bento-16.04. Я добавил нового пользователя рядом с бродячим пользователем, и я сгенерировал и скопировал открытый ключ на сервере в файле с именем author_keys. Я также исключил возможность проверки подлинности с помощью ключевого слова.

Проблема в том, что я могу подключиться к серверу только в том случае, если команда ssh предоставит полный путь к моему личному ключу (расположенному на диске C моего компьютера) под флагом -i.

Если попытаться подключиться только с помощью ssh -p 2222 lucian @ localhost , я получил следующее сообщение: отказано в доступе (открытый ключ)

Есть ли способ? я не могу подключиться по ssh без указания полного пути к закрытому ключу, расположенному на моем компьютере?

У меня сложилось впечатление, что сервер не знает о местонахождении закрытого ключа.

Я перечитал предыдущие темы, связанные с этой проблемой, но я могу выяснить, что я должен сделать, чтобы ssh-agent автоматически предоставил серверу закрытый ключ.

Спасибо!

0
задан 30 November 2017 в 18:36

2 ответа

Я решил эту проблему, создав файл конфигурации, хранящийся на локальном компьютере ( ~ / .ssh / config ) со следующим содержимым

Host myhost HostName 192.168.10.10 User username IdentityFile /path/to/identity file IdentitiesOnly yes

где

  • myhost - любое имя, которое вы решите использовать вместе с командой ssh ​​для подключения к серверу
  • HostName - IP-адрес, установленный в Vagrantfile для частной сети
  • user - имя нового пользователя, созданного на уровне сервера.
  • IdentityFile - путь к приватному ключу, хранящемуся локально (открытый ключ хранится на сервере в файле авторизованных ключах). )

После этого я могу подключиться к серверу из vagrant просто с помощью команды ssh myhost .

-1
ответ дан 30 November 2017 в 18:36

Без редактирования файлов вы можете использовать ssh-add yourkeyfile, но перезагрузка не переживет.

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

nano /home/yourusername/.ssh/config

Добавить следующую запись

Host serverIP/FQDN
IdentityFile /home/yourusername/.ssh/yourkeyfile (or other path)

Теперь каждый раз, когда вы подключиться к этому конкретному хосту, он будет использовать этот файл.

Вы также можете добавить номер порта и имя пользователя в вышеупомянутой конфигурации, так что вам нужно только набрать ssh remotehostname для подключения.

Для этого добавьте

 User remote_username
 Port remote_port#
1
ответ дан 30 November 2017 в 18:36

Другие вопросы по тегам:

Похожие вопросы: