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.