Не удается войти в удаленную систему debian с ключом RSA и ssh.exe от Cygwin

Мне нужно войти на сервер Debian с помощью ssh.exe из Cygwin. Я создал ключ RSA и добавил его в файл authorized_keys .

Debian в порядке, потому что я смог использовать ключ RSA с помощью PuTTY для входа туда. Однако, когда я пытаюсь войти в ssh.exe он говорит, что пароль неверен. Я не могу получить доступ к папке ./ssh/ из Cygwin.

Обновление. Как я и предполагал, добавление -vvvv показывает следующее:

 debug1: could not open key file '/home/steve/.ssh/id_rsa': Permission denied 

Файл есть, и я могу просмотреть файл C:\cygwin\home\steve\.ssh\id_rsa моим файловым менеджером.

Обновление 2:

 ls -lA ~/ drwx------+ 1 steve None 0 фев 27 13:20 .ssh $ ls -l ./.ssh/ ls: невозможно открыть каталог ./.ssh/: Permission denied 

Как я могу это исправить?

С какой папкой .ssh вы не можете получить доступ? (Вы не сможете увидеть из Cygwin это на Ubuntu, однако вы должны увидеть его на Ubuntu, от Ubuntu , если он там, где он находится). Если вы сгенерировали ключ RSA с помощью puttygen, он не будет работать с ssh.exe от Cygwin, потому что они используют разные форматы для своего ключевого файла (putty использует файл с расширением .ppk, который имеет другой формат).

Вы можете загрузить этот ppk-файл в puttygen, а затем использовать Conversions -> Export OpenSSH key чтобы сохранить его в правильном формате, который может использовать ssh.exe. Если вы хотите загрузить этот ключевой файл в Cygwin с вашего диска Windows, вы можете использовать каталог / cygdrive, чтобы получить доступ к вашему диску C: (или другому диску), где находится ключ. Затем вы можете использовать -i для указания ssh на него. Другой альтернативой является использование ssh-keygen для генерации нового ключа для Cygwin и добавления его к авторизованным ключам Ubuntu.

Кроме того, Cygwin ssh по умолчанию использует имя пользователя, которое вы вошли в Windows, с именем пользователя для удаленного хоста, если вы не укажете его как часть аргументов команды ssh.

Если он все еще не работает, я бы проверил, что сделал ssh, добавив -vvv к вашим аргументам команды.

 ssh -vvvv -i /cygdrive/c/path/to/my/id_dsa -l username host.address.here 

(очевидно, заменив правильные аргументы для -i -l и host.address.here ).