ssh, Cygwin'de yanlış giriş dizini kullanıyor


12
$ ssh usaname@login.somehost.no

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

Neden ssh ~ / .ssh bulmaya çalıştığında $ HOME ortam değişkenini kullanmıyor?

(değiştir: sabit biçimlendirme)

ssh  cygwin 

Yanıtlar:


9

Bir bak /etc/passwd. Buradaki girişin beklenen giriş dizininizle eşleştiğinden emin olun. Kullanıcı girişiniz için sondan ikinci alana.


4

$HOMEDeğişkeniniz ayarlanmışsa ancak ssh bunu tanımıyorsa, bu satırı ekleyin /etc/nsswitch.conf:

db_home: /%H

Bu, / etc / passwd dosyasının var olmasına gerek kalmadan Cygwin giriş dizinini ayarlar.


Ben kurdum HOMEiçin %USERPROFIEL%cygwin yüklü önce çevre değişkenleri. Yani ... / home / <kullanıcı adı> oluşturulmadı ( /etc/passwd cannot be found). Ve% USERPROFILE% içinde ssh anahtarı kullanılamaz. db_home: /%Hsorunu mükemmel bir şekilde düzeltin. Çok teşekkürler!
Marslo

2

/Etc/nsswitch.conf içinde:

db_home:  windows

Bkz . Db_home ayarı . Bu Cygwin'e sadece Windows %USERPROFILE%dizinini Cygwin $ HOME olarak kullanmasını söyler .

Örneğin, git (GitHub Enterprise) ve SSH arasında aynı SSH anahtarlarını çeşitli yerel Unix / Linux sistemlerine paylaşmak istiyorsanız bu gereklidir.

%HOME%İşletim sistemi düzeyinde ayar işe yaramadı ( $HOMEbash ayarını doğru bir şekilde yansıtsa bile ).

Orijinal sorudan SSH'nin Vidar'ın eski Windows sürümünde olan Windows giriş dizinini güncellemeye çalıştığını görebilirsiniz C:\Documents and Settings\vidar kongsli. Geçerli sürümlerde (7+, sanırım), eşdeğerdir C:\Users\%USERNAME%(veya Windows C: 'de yüklü değilse %SystemDrive%\Users\%USERNAME%).


0

Değişken HOMEdışa aktarılıyor mu? Deneyin: export HOMEsonra sshtekrar.


0

Set db_homeiçinde /etc/nsswitch.confevinize yoluna. MSYS2 tarafından önerilen yöntem budur.

Bir HOMEortam değişkeni eklemek de işe yarar .

Git-Windows için içerir enviçinde db_homesizin okumalısınız hangi HOMEbash değişkeni ise öyle güvenilmez .


1
Nasıl düzenlenir? Db_home'yi ne olarak ayarladınız?
Andrew Schulman

@AndrewSchulman Giriş dizinim olarak istediğim dizine?
VarunAgw

1
Vaov! Bu çok yararlı bilgiler. Düzenleme için teşekkürler @ go2null :)
VarunAgw

Bu yanıt aslında "önerilen" bağlantılı hatanın önerdiklerini listelemez. Bağlantılı böcek diyor ki:db_home: windows cygwin desc
Gordon
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.