Я пытался понять, почему я не могу заставить работать 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