3

Для работы я в SSH-в сервер. Я не делал этого в течение нескольких месяцев, поэтому что-то изменилось, и теперь он просит у меня пароль. Раньше после аутентификации это работало. Вот что я обычно пишу в ssh: ssh -p2222 username@123.12.123.123

Я посмотрел на отладочную информацию, и она показала, что сервер даже не запрашивал соответствующий файл ключа. Вместо этого он сначала предлагает открытый ключ, который я удалил (id_rsa)... затем он превращается в закрытые ключи ... затем он запрашивает пароль, который мне не нужен.

debug1: Found key in /Users/myname/.ssh/known_hosts:40
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/myname/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-with-mic,password
debug1: Trying private key: /Users/myname/.ssh/id_rsa
debug1: Trying private key: /Users/myname/.ssh/id_dsa
debug1: Next authentication method: password

Однако, когда я указываю файл идентификации, он работает: ssh -i ~/.ssh/correctkey username@123.12.123.123 !

Что означают эти ошибки, и как мне заставить ssh работать без запроса пароля? Это важно, потому что я использую графический интерфейс Fugu - единственный доступный графический интерфейс для SCP - и не могу использовать в нем опцию -i!

Есть ли что-то на стороне сервера в уравнении, которое мне нужно исправить?

Спасибо!

2 ответа2

3

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

$ cat ~/.ssh/config
IdentityFile ~/.ssh/correctKey

И в этом файле вы также можете настроить множество других опций, например, указать порт по умолчанию для использования на определенном хосте (например, всегда используйте порт 2222 при входе в 123.12.123.123 или имя пользователя по умолчанию. Смотрите sshd_config(5) для подробностей.

Обновление Если ваше приложение с графическим интерфейсом (Fugu) не может напрямую прочитать настройки SSH из ~/.ssh/config , похоже, вы можете вручную передать параметры в SSH, используя его текстовое поле "Дополнительные параметры SSH":

скриншот Фугу

Вы можете попробовать передать -i ~/.ssh/correctKey через это текстовое поле.

1

Просто измените имена файлов с ключами на значения по умолчанию.

~/.ssh/correctKey --> ~/.ssh/identity (on client machine)
~/.ssh/correctKey.pub --> ~/.ssh/identity.pub (on server machine)

Это не возможно?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .