cấu hình ssh theo cygwin


18

Tôi đã cài đặt Cygwin trên Windows 7. Tôi đã cài đặt mặc định. Tôi muốn sử dụng tệp cấu hình ssh (~ / .ssh / config) để đặt máy chủ và các tùy chọn để kết nối.

Lệnh ssh bình thường không thể tìm thấy cấu hình trong khi tôi cố gắng kết nối: ssh host Nếu tôi chỉ định rõ ràng tệp cấu hình, mọi thứ đều ổn: ssh -F ~ / .ssh / config

Tôi không thể tìm thấy bất kỳ tùy chọn nào để đặt ssh client, đại loại như / etc / ssh

Có lẽ ssh không biết thư mục nhà của tôi ở đâu? (Tôi đã đặt biến môi trường HOME cho thư mục nhà của mình)

Câu trả lời:


18

Bạn phải chạy ssh-host-config trước. Nó sẽ tạo một tệp "ssh_config" trong / etc / .


4

Tôi gặp vấn đề tương tự. Tôi muốn sử dụng ~ / .ssh / config vì tôi đã sử dụng thư mục đó cho các ứng dụng khác và không muốn duy trì 2 bản sao. Vì vậy, tạo một thư mục / etc / ssh_config không phải là giải pháp lý tưởng.

Như Fujimoto Youichi đề cập, ssh xem / etc / passwd cho thư mục chính của bạn chứ không phải biến môi trường $ HOME .

Các phiên bản cygwin hiện tại (tôi đang sử dụng 2.6) không còn tạo / etc / passwd như một phần của cài đặt. Tuy nhiên, thật dễ dàng để tạo một cái mới:

    mkpasswd -c -p "$(cygpath -H)" > /etc/passwd
  • -c Thêm người dùng hiện tại vào tệp passwd
  • -p "$ (cygpath -H)" Thêm thư mục chính hiện tại của bạn

https://cygwin.com/cygwin-ug-net/mkpasswd.html có thêm chi tiết về các cờ có sẵn.

Tôi đã không nhìn vào mã, nhưng sở thích của ssh dường như là:

  1. / etc / ssh_config
  2. ~ / .ssh / config

Vì vậy, nếu bạn chỉ muốn sử dụng thông tin cấu hình ssh từ ~ / .ssh / config , thì hãy chắc chắn xóa / etc / ssh_config .

Ngoài ra, hãy chắc chắn mở một cửa sổ thiết bị đầu cuối cygwin mới sau khi thực hiện các thay đổi, để chúng có sẵn.


có vẻ như nó đã được chuyển đến / etc / defaults / ssh_config
VeraKozya

1

Lệnh ssh tìm tệp cấu hình của nó trong thư mục chính từ / etc / passwd. Vì vậy, thiết lập biến HOME sẽ không hoạt động.

Có nhiều cách nhưng chúng ta có thể khắc phục bằng cách chỉ cần tạo một liên kết tượng trưng như sau.

ln -s ~ / nhà


0

Các câu trả lời khác không làm việc cho tôi. Tôi vừa tạo c: \ cygwin64 \ etc \ ssh_config và dán vào tệp mặc định / ví dụ sau:

# 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

Hy vọng rằng sẽ giúp người tiếp theo.


0

Theo câu trả lời được chấp nhận, bằng cách sử dụng lệnh để khởi tạo:

ssh-host-config

Bạn cũng có thể tạo trống /etc/ssh_configtrong Cygwin, sẽ hoạt động tương tự.

Việc /etc/ssh_configtạo bởi ssh-host-configcũng trống rỗng với tất cả các dòng nhận xét.


Tải lại SSH với cấu hình mới:

Để thực hiện cấu hình, bạn chỉ có thể hoàn tất chỉnh sửa /etc/ssh_configmà không cần khởi động lại dịch vụ.


1
Điều này khác với câu trả lời được chấp nhận như thế nào?
Greenonline

Tôi không thể nhận xét về nó để giải thích thêm về nguyên tắc và cách thực hiện cấu hình ssh.
Nick Tsai

Bạn cần kiếm được một số danh tiếng đầu tiên. Hãy thử chỉnh sửa một số bài viết có định dạng sai hoặc trả lời một câu hỏi chưa được trả lời :-)
Greenonline

ĐỒNG Ý! Tôi đã đăng câu trả lời này vì sau khi kiểm tra câu trả lời được chấp nhận, tôi đã làm thêm khảo sát về nó. Cảm ơn bạn.
Nick Tsai

0

Cygwin ssh hy vọng cấu hình sẽ được trong /home/$USER. Nhưng thư mục nhà "~" trong cygwin C:/Users/$USERthì thực sự /hometrống rỗng. Bạn có thể có cả hai C:/Users/$USER/.ssh/home/$USER/.sshlà các đường dẫn hợp lệ, bằng cách tạo một liên kết tượng trưng:

ln -s ~ /home/$USER

0

Câu trả lời hiện được chấp nhận đã không khắc phục vấn đề cho tôi. Thay vào đó, tôi đã liên kết .sshthư mục từ thư mục chính của tài khoản người dùng Windows vào thư mục chính của người dùng Cygwin:

ln -s /cygdrive/c/Users/<MY-USER>/.ssh /home/<MY-USER>/.ssh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.