2015-10-01 1 views
1

Мне интересно, можно ли создать этот каталог на компьютере с Windows ~/.ssh/id_dsa? Я создал закрытый ключ и хочу сохранить его в каталоге с именем ~/.ssh/id_dsa. Мне сказали, что ssh-keygen -t rsa это должно работать на линии cmmand, но, к сожалению, это не так.Создайте `~/.ssh/id_dsa` на машине Windows для JSch

+0

'~' в Windows не означает домашний каталог. –

+0

@PCLuddite Он не спрашивал, что означает '' 'в Windows, он спросил, как создать такой каталог. '~' просто означает «домашний каталог пользователя». В Unix-подобных системах вы замените его на '/ home/', в системах Windows с 'c: \ Users \ '. Это все. –

+0

Кстати, как это связано с Putty? '~/.ssh' используется OpenSSH. Putty даже не может напрямую использовать ключи OpenSSH. –

ответ

0

Файл ~/.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. Но все равно это не имеет никакого отношения к вашей проблеме.

+0

Этот ключ используется OpenSSH, упакованным Git для Windows, или OpenSSH, скомпилированным с использованием MinGW в целом. '~' он переводит на профиль пользователя Windows. Так вот для чего это связано с Windows. Другие примечания действительны, я не заметил их, поскольку это не было главной проблемой его вопроса. –

+0

@DawidFerenczy OpenSSH не может запускаться «в Windows». Он работает на эмуляции * nix на Windows = Cygwin или MinGW. Cygwin или MinGW - это то, что отображает '' 'профиль пользователя Windows, а не сама Windows. –

+0

Конечно, я знаю это, извините, если не было ясно из моего комментария. Я использую его каждый день уже более 8 лет. BTW Cygwin предоставляет среду POSIX (используя 'cygwin1.dll'), но MinGW этого не делает. Это инструментальная цепочка, которая компилируется в собственные приложения Windows без какой-либо зависимости от не-Windows-библиотек). –

1

~ означает домашний каталог пользователя. В Unix-подобных системах обычно /home/<username>, в системах Windows (Vista и новее) это c:\Users\<username>.

Так просто создать каталог c:\Users\<username>\.ssh. Я думаю, что id_ds не каталог, а файл.

Например, SSH, упакованный с Git для Windows, ищет каталог .ssh именно в этом месте. В общем, все двоичные файлы, скомпилированные с использованием MinGW, ожидают его.

BTW Windows эквивалент ~: %HOMEPATH% переменная среды.

+0

Как вы думаете, я должен добавить файл openSHH в переменную окружения% HOMEPATH%? – TrevDred

+0

Вы никогда не должны использовать жестко закодированный путь, например 'C: \ Users \ \ .ssh'.Это может быть наиболее вероятным местом для домашнего каталога пользователя, но это может быть технически в любом месте. Кроме того, нет никакой гарантии, что 'C: \ Users' станет исходным каталогом по умолчанию в будущих версиях Windows. Используйте '% HOMEDRIVE %% HOMEPATH% \. Ssh' –

+0

@PCLuddite Прежде всего, я упоминаю это в своем ответе, но это не имеет отношения к вопросу. Ему просто нужно перейти в свой домашний каталог и создать там подкаталог. Почему он должен использовать переменную окружения, чтобы попасть туда? Это просто для использования в некоторых сценариях или аналогичных целях. –