Назад | Перейти на главную страницу

Закрытый ключ SSH для Ubuntu работает из командной строки, но без использования Remmina

Я пытался понять, почему я не могу заставить работать SSH, используя Remmina SSH-клиент. В среде Ubuntu 12.10 я могу подключиться к своему серверу из командной строки с помощью сервера openssh, например:

ssh -i privatekey.pem username@hostIP

Так все хорошо.

Но теперь я хочу подключить сеанс удаленного рабочего стола к тому же серверу, но мне нужно подключиться через туннель SSH. В любом случае у меня на сервере запущен xrdp, и я буду подключаться с помощью RDP через туннель SSH, для этого я использую программу Remmina Remote Desktop. Но сначала я просто хотел использовать Remmina SSH, чтобы убедиться, что это работает. И не работает! Каждый раз, когда я пытаюсь подключиться, я получаю эту ошибку:

SSH public key authentication failed: Public key file doesn't exist

Настройки в Remmina для SSH очень просты:

host
username
indentity file (privatekey.pem)

Кто-нибудь знает, почему SSH работает в командной строке, но не работает через Remmina? Это ошибка в Реммине? Или я что-то упускаю?

Спасибо!

Похоже, вам также нужно указать открытый ключ:

https://github.com/FreeRDP/Remmina/issues/92

Кажется, что в "файле идентификации" указан закрытый ключ.

Мне не удалось заставить это работать, используя предложение открытого ключа Йоханнеса, но я смог заставить Remmina подключиться к моему удаленному хосту, изменив параметр аутентификации на «Открытый ключ (автоматически)», затем запустив ssh-agent и добавив мой закрытый ключ через ssh-add.

Чтобы упростить работу с командной строкой, я добавил это в свой .bashrc:

#
# Start up ssh-agent if it's not running
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then
  eval `$SSHAGENT $SSHAGENTARGS`
  trap "kill $SSH_AGENT_PID" 0
else
  echo SSH Agent running
fi
#
# Add my private key
if [[ -z `ssh-add -L | grep mykey.pem` ]]; then
       ssh-add ~/.ssh/mykey.pem
fi