$ ssh [email protected]
Could not create directory'/cygdrive/c/Documents and Settings/vidar kongsli/.ssh'.
The authenticity of host 'login.somehost.no (...)' can't be established.
RSA key fingerprint is ....
Are you sure you want to continue connecting (yes/no)? no
Host key verification failed.
$ set | grep HOME
HOME=/cygdrive/d/home/vidar
HOMEDRIVE=C:
HOMEPATH=/cygdrive/d/home/vidar
$ ls ~/.ssh
id_rsa id_rsa.pub
Alguma idéia de por que o ssh não usa a variável de ambiente $ HOME ao tentar localizar ~ / .ssh?
(editar: formatação fixa)
HOME
a%USERPROFIEL%
em variáveis de ambiente antes do cygwin instalado. Então ... / home / <myusername> não foi criado (/etc/passwd cannot be found
). E não é possível usar a chave ssh em% USERPROFILE%.db_home: /%H
corrija o problema perfeitamente. Muito obrigado!Em /etc/nsswitch.conf:
Consulte A configuração db_home . Isso diz ao Cygwin para usar apenas o
%USERPROFILE%
diretório do Windows como Cygwin $ HOME.Isso é necessário se, por exemplo, você deseja compartilhar as mesmas chaves SSH entre o git (GitHub Enterprise) e o SSH para vários sistemas Unix / Linux locais.
A configuração
%HOME%
no nível do sistema operacional não funcionou (mesmo que$HOME
no bash reflita corretamente a configuração).Você pode ver na pergunta original que o SSH está tentando atualizar o diretório inicial do Windows, o que é a versão mais antiga do Vidar
C:\Documents and Settings\vidar kongsli
. Nas versões atuais (7 ou mais, eu acho), o equivalente éC:\Users\%USERNAME%
(ou, se o Windows não estiver instalado em C :,%SystemDrive%\Users\%USERNAME%
).fonte
A variável é
HOME
exportada? Tente:export HOME
entãossh
novamente.fonte
Situado
db_home
em/etc/nsswitch.conf
que o caminho para sua casa. Este é o método recomendado pelo MSYS2.Adicionar uma
HOME
variável de ambiente também funciona .O Git-for-Windows inclui
env
indb_home
, que deve ler suaHOME
variável bash, no entanto, não é confiável .fonte
db_home: windows cygwin desc