cygwin altında ssh yapılandırma


18

Windows 7'de Cygwin yüklü. Varsayılan yüklemeyi yaptım. Ana bilgisayar ve bağlantı seçeneklerini ayarlamak için ssh config dosyasını (~ / .ssh / config) kullanmak istiyorum.

Bağlanmaya çalıştığımda normal ssh komutu yapılandırmayı bulamıyor: ssh host Açık bir şekilde config dosyasını belirlersem, her şey yolunda: ssh -F ~ / .ssh / config

Ssh istemcisini ayarlamak için herhangi bir seçenek bulamadım, / etc / ssh gibi bir şey

Belki de ssh ana klasörünüzün nerede olduğunu bilmiyor? (HOME ortam değişkenini ana klasöre ayarladım)

Yanıtlar:


18

Önce ssh-host-config komutunu çalıştırmalısınız . / Etc / dizininde bir "ssh_config" dosyası oluşturur .


4

Aynı sorunu yaşadım. ~ / .Ssh / config kullanmak istedim, çünkü zaten bu dizini diğer uygulamalar için kullanıyordum ve 2 kopya korumak istemiyordum. Bu nedenle / etc / ssh_config dizini oluşturmak ideal bir çözüm değildi.

Fujimoto Youichi'den bahsedildiği gibi, ssh $ HOME ortam değişkenine değil, ana dizininiz için / etc / passwd'ye bakar .

Mevcut cygwin sürümleri (2.6 kullanıyorum) artık kurulumun bir parçası olarak / etc / passwd oluşturmuyor . Ancak, yeni bir tane oluşturmak kolaydır:

    mkpasswd -c -p "$(cygpath -H)" > /etc/passwd
  • -c Geçerli kullanıcıyı passwd dosyasına ekler
  • -p "$ (cygpath -H)" Geçerli giriş dizininizi ekler

https://cygwin.com/cygwin-ug-net/mkpasswd.html mevcut bayraklar hakkında daha fazla ayrıntı içerir.

Ben koda bakmadım, ama ssh tercih gibi görünüyor:

  1. / Etc / ssh_config
  2. ~ / .Ssh / yapılandırma

Bu nedenle, yalnızca ~ / .ssh / config'ten ssh yapılandırma bilgilerini kullanmak istiyorsanız , / etc / ssh_config dosyasını sildiğinizden emin olun .

Ayrıca, değişiklik yaptıktan sonra kullanılabilir olmaları için yeni bir cygwin terminal penceresi açtığınızdan emin olun.


/ etc / defaults / ssh_config olarak değiştirildi
VeraKozya

1

ssh command / etc / passwd dizininden yapılandırma dosyasını home dizini altında arar. HOME değişkeninin ayarlanması çalışmaz.

Birçok yol var, ancak aşağıdaki gibi bir symlink yaparak düzeltebiliriz.

ln -s ~ / ana sayfa


0

Diğer cevaplar benim için işe yaramadı. Az önce c: \ cygwin64 \ etc \ ssh_config komutunu oluşturdum ve aşağıdaki varsayılan / örnek dosyaya yapıştırdım:

# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
#  1. command line options
#  2. user-specific file
#  3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options.  For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.

# Host *
#   ForwardAgent no
#   ForwardX11 no
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   PasswordAuthentication yes
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   Port 22
#   Protocol 2,1
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#   MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
#   ProxyCommand ssh -q -W %h:%p gateway.example.com
#
#
Host *
    Port 22

Umarım bir sonraki kişiye yardımcı olur.


0

Kabul edilen cevaba göre, başlatmak için aşağıdaki komutu kullanın:

ssh-host-config

/etc/ssh_configAynı şekilde çalışacak Cygwin'de de boş oluşturabilirsiniz .

/etc/ssh_configTarafından oluşturma ssh-host-configda çizgilerin üzerinden tüm yorum ile boş olduğunu.


SSH'yi yeni yapılandırma ile yeniden yükleyin:

Yapılandırmayı etkinleştirmek için, /etc/ssh_confighizmeti yeniden başlatmadan düzenlemeyi bitirebilirsiniz .


1
Bunun kabul edilen cevaptan farkı nedir?
Greenonline

Daha sonra ilke ve ssh yapılandırma nasıl açıklamak için yorum yapamam.
Nick Tsai

Önce biraz itibar kazanmanız gerekir. Bazı kötü biçimlendirilmiş mesajları düzenleme veya yanıtlayan deneyin cevaplanmamış :-) soru
Greenonline

TAMAM! Bu cevabı yayınladım çünkü kabul edilen cevabı kontrol ettikten sonra daha fazla anket yaptım. Teşekkür ederim.
Nick Tsai

0

Cygwin ssh, yapılandırmanın olmasını bekliyor /home/$USER. Ama cygwin ev dizini "~" olan C:/Users/$USER, gerçekten de /homeboştur. Bir sembolik bağlantı oluşturarak her ikisine birden sahip olabilir C:/Users/$USER/.sshve /home/$USER/.sshgeçerli yollara sahip olabilirsiniz :

ln -s ~ /home/$USER

0

Şu anda kabul edilen cevap benim için sorunu çözmedi. Bunun yerine .sshdizini Windows kullanıcı hesabımın giriş dizininden Cygwin kullanıcısının giriş dizinine bağladım:

ln -s /cygdrive/c/Users/<MY-USER>/.ssh /home/<MY-USER>/.ssh
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.