Я пытаюсь использовать SSH-аутентификацию между моим настольным компьютером WinXP с Cygwin и ноутбуком Mac, и, хоть убей, я не могу заставить его работать. Мой открытый ключ находится на macbook в каталоге authorized_keys, а мой закрытый ключ находится там, все в моей папке ~ / .ssh.
Вот соответствующие строки из запуска ssh -vv user @ server
debug1: Authentications that can continue: publickey,keyboard-interactive
debug1: Next authentication method: publickey
debug1: Trying private key: /c/cygwin/home/beerhalj/.ssh/identity
debug1: Trying private key: /c/cygwin/home/beerhalj/.ssh/id_rsa
debug1: Trying private key: /c/cygwin/home/beerhalj/.ssh/id_dsa
debug1: read PEM private key done: type DSA
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,keyboard-interactive
debug2: we did not send a packet, disable method
Похоже, мой сервер отправляет пакет с открытым ключом, а затем не отправляет пакет и отключается. Зачем? Или что мне следует попробовать? Любая помощь или предложения будут оценены.
Согласно предложению SparX, я выбрал свой sshd_config, и есть только три строки без комментариев
Protocol 2
SyslogFacility AUTHPRIV
Subsystem sftp/usr/libexec/sftp-server
Убедитесь, что файл authorized_keys, а также папка .ssh и ваша домашняя папка не доступны для записи никому, кроме вас самих. В противном случае Sshd игнорирует это.
Я хотел бы добавить дополнительный ответ, чтобы иметь в виду в будущем. Несколько лет назад, и это, вероятно, все еще верно, все еще не существует идеального сопоставления разрешений в стиле NT / AD с разрешениями Unix. Я помню, что у меня возникла проблема: если мои файлы .ssh находились на сетевом диске и использовались в cygwin, разрешения не мог быть правильно установленными в файлах, потому что модель разрешений не позволяла этого.
Это может привести к ожогам и часам. Однако я предполагаю, что в вашем текущем случае ваши файлы находятся на локальном диске, и это не влияет на вас.