SSH ищет неподходящее место для пары "открытый/закрытый ключ" в Windows
Я пытаюсь настроить GIT на моем компьютере под управлением Windows XP, но SSH продолжает создавать и искать пару открытых/закрытых ключей в нечувствительных местах, например. /.ssh/id_rsa
Есть ли файл конфигурации в GIT Установка для Windows, где я могу переключить его на мой домашний каталог или на другое определенное пользователем место? По умолчанию он предлагает создавать новые пары ключей в //.ssh/id_rsa, но это дает мне ошибку "Не удалось создать каталог" //.ssh ". И когда я могу найти каталог, я могу его создать, GIT там не будет выглядеть.
Ответы
Ответ 1
Выяснили, как вручную установить домашний каталог в Windows XP:
- Щелкните правой кнопкой мыши "Мой компьютер"
- Выберите вкладку "Дополнительно"
- Нажмите кнопку "Экологические переменные"
- В разделе "Системные переменные" нажмите "Создать"
- В "Имя переменной" введите "home".
- В поле "Значение переменной" введите путь к вашему профилю.
Чтобы сделать то же самое через командную строку, выполните следующие действия:
setx HOME "your\path\to\home"
(Обратите внимание на суффикс x - это используется для сохранения изменений)
Ответ 2
Рекомендуемый метод от MSYS2 - установить db_home
в /etc/nsswitch.conf
в ваш домашний каталог.
Подтвердите @VarunAgw для указания в правильном направлении.
Git -for-Windows включает env
в db_home
, который должен читать вашу переменную HOME
bash, однако она ненадежны.
Ответ 3
У меня была аналогичная проблема в Windows 7. Значение переменной HOME
выглядело правильно:
$ echo $HOME
C:\Users\craibuc
Однако попытки подключения к тестированию github ssh
не удались:
$ ssh -Tv [email protected]
OpenSSH_6.6.1, OpenSSL 1.0.1i 6 Aug 2014
debug1: Connecting to github.com [192.30.252.129] port 22.
debug1: Connection established.
Could not create directory 'C/.ssh'.
debug1: identity file C/.ssh/id_rsa type -1
debug1: identity file C/.ssh/id_rsa-cert type -1
debug1: identity file C/.ssh/id_dsa type -1
debug1: identity file C/.ssh/id_dsa-cert type -1
debug1: identity file C/.ssh/id_ecdsa type -1
debug1: identity file C/.ssh/id_ecdsa-cert type -1
debug1: identity file C/.ssh/id_ed25519 type -1
debug1: identity file C/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1
debug1: Remote protocol version 2.0, remote software version libssh-0.6.0
debug1: no match: libssh-0.6.0
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-sha1 none
debug1: kex: client->server aes128-ctr hmac-sha1 none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: RSA 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
The authenticity of host 'github.com (192.30.252.129)' can't be established.
RSA key fingerprint is xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (C/.ssh/known_hosts).
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
debug1: Next authentication method: publickey
debug1: Trying private key: C/.ssh/id_rsa
debug1: Trying private key: C/.ssh/id_dsa
debug1: Trying private key: C/.ssh/id_ecdsa
debug1: Trying private key: C/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).
По какой-то причине ssh
пытался получить доступ к C/.ssh
.
Когда я установил переменную с помощью setx HOME /c/users/craibuc
и перезапустил оболочку, я смог подключиться:
$ ssh -T [email protected]
Warning: Permanently added the RSA host key for IP address '192.30.252.130' to the list of known hosts.
Hi craibuc! You've successfully authenticated, but GitHub does not provide shell access.
Ответ 4
У меня была такая же проблема при использовании машины с политикой домена, устанавливающей профиль пользователя на сетевой диск (в этом случае отображаемый на Z:
).
При попытке сделать что-либо из Powershell я получаю такие сообщения. Установка переменной home
PATH не помогла.
git clone ssh://[email protected]:1234/myproject
Cloning into 'myproject'...
Could not create directory '/z/.ssh'.
The authenticity of host '[mydomain.com]:1234 ([1.1.1.1]:1234)' can't be established.
RSA key fingerprint is 00:11:22:33:$4:55:66:77:88.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/z/.ssh/known_hosts).
Permission denied (publickey).
Please make sure you have the correct access rights
and the repository exists.
Когда я клонировал из git bash, это было прекрасно, так как /z/.ssh
и т.д. является допустимым способом указать на Z:\.ssh
из оболочки.
Ответ 5
В Windows 7 просто поместите секретный ключ (id_rsa) внутри C:\Users \.ssh FOLDER
Если .ssh Folder не существует, просто создайте его.
Загрузите GIT для Windows, cd в свой каталог проектов и сделайте
git clone ssh://@/.git