Мне интересно, можно ли создать этот каталог на компьютере с Windows ~/.ssh/id_dsa
? Я создал закрытый ключ и хочу сохранить его в каталоге с именем ~/.ssh/id_dsa
. Мне сказали, что ssh-keygen -t rsa
это должно работать на линии cmmand, но, к сожалению, это не так.Создайте `~/.ssh/id_dsa` на машине Windows для JSch
ответ
Файл ~/.ssh/id_dsa
- это путь по умолчанию к закрытому ключу, используемому клиентом OpenSSH SSH на системах * nix. Он имеет ничего делать с Windows или JSch.
JSch использует закрытый ключ, который вы указываете с помощью метода addIdentity
.
Ntb, это id_dsa
, не id_ds
. И это файл, а не каталог. И ssh-keygen -t rsa
вряд ли может создать id_dsa
, DSA и RSA - это разные алгоритмы. Для RSA используется id_rsa
. Но все равно это не имеет никакого отношения к вашей проблеме.
Этот ключ используется OpenSSH, упакованным Git для Windows, или OpenSSH, скомпилированным с использованием MinGW в целом. '~' он переводит на профиль пользователя Windows. Так вот для чего это связано с Windows. Другие примечания действительны, я не заметил их, поскольку это не было главной проблемой его вопроса. –
@DawidFerenczy OpenSSH не может запускаться «в Windows». Он работает на эмуляции * nix на Windows = Cygwin или MinGW. Cygwin или MinGW - это то, что отображает '' 'профиль пользователя Windows, а не сама Windows. –
Конечно, я знаю это, извините, если не было ясно из моего комментария. Я использую его каждый день уже более 8 лет. BTW Cygwin предоставляет среду POSIX (используя 'cygwin1.dll'), но MinGW этого не делает. Это инструментальная цепочка, которая компилируется в собственные приложения Windows без какой-либо зависимости от не-Windows-библиотек). –
~
означает домашний каталог пользователя. В Unix-подобных системах обычно /home/<username>
, в системах Windows (Vista и новее) это c:\Users\<username>
.
Так просто создать каталог c:\Users\<username>\.ssh
. Я думаю, что id_ds
не каталог, а файл.
Например, SSH, упакованный с Git для Windows, ищет каталог .ssh
именно в этом месте. В общем, все двоичные файлы, скомпилированные с использованием MinGW, ожидают его.
BTW Windows эквивалент ~
: %HOMEPATH%
переменная среды.
Как вы думаете, я должен добавить файл openSHH в переменную окружения% HOMEPATH%? – TrevDred
Вы никогда не должны использовать жестко закодированный путь, например 'C: \ Users \
@PCLuddite Прежде всего, я упоминаю это в своем ответе, но это не имеет отношения к вопросу. Ему просто нужно перейти в свой домашний каталог и создать там подкаталог. Почему он должен использовать переменную окружения, чтобы попасть туда? Это просто для использования в некоторых сценариях или аналогичных целях. –
'~' в Windows не означает домашний каталог. –
@PCLuddite Он не спрашивал, что означает '' 'в Windows, он спросил, как создать такой каталог. '~' просто означает «домашний каталог пользователя». В Unix-подобных системах вы замените его на '/ home/', в системах Windows с 'c: \ Users \ '. Это все. –
Кстати, как это связано с Putty? '~/.ssh' используется OpenSSH. Putty даже не может напрямую использовать ключи OpenSSH. –