cygwin에서 ssh 설정


18

Cygwin을 Windows 7에 설치했습니다. 기본 설치를했습니다. ssh 구성 파일 (~ / .ssh / config)을 사용하여 호스트 및 연결 옵션을 설정하고 싶습니다.

일반적인 ssh 명령은 연결을 시도하는 동안 구성을 찾을 수 없습니다. ssh host 구성 파일을 명시 적으로 지정하면 모든 것이 정상입니다. ssh -F ~ / .ssh / config

/ etc / ssh와 같은 SSH 클라이언트를 설정하는 옵션을 찾을 수 없습니다

어쩌면 ssh가 내 홈 폴더가 어디에 있는지 모르십니까? (HOME 환경 변수를 홈 폴더로 설정했습니다)

답변:


18

먼저 ssh-host-config 를 실행해야합니다 . / etc / 에 "ssh_config"파일을 생성합니다 .


4

나는 같은 문제가 있었다. 이미 다른 응용 프로그램에 해당 디렉토리를 사용하고 있고 2 복사본을 유지하고 싶지 않기 때문에 ~ / .ssh / config 를 사용하고 싶었습니다 . 따라서 / etc / ssh_config 디렉토리를 만드는 것이 이상적인 솔루션이 아닙니다.

Fujimoto Youichi가 언급했듯이 ssh는 $ HOME 환경 변수가 아닌 홈 디렉토리에 대해 / etc / passwd 를 찾습니다 .

현재 cygwin 버전 (2.6을 사용하고 있음)은 더 이상 설치의 일부로 / etc / passwd 를 만들지 않습니다 . 그러나 새로운 것을 만드는 것은 쉽습니다.

    mkpasswd -c -p "$(cygpath -H)" > /etc/passwd
  • -c 현재 사용자를 passwd 파일에 추가합니다
  • -p "$ (cygpath -H)" 현재 홈 디렉토리를 추가합니다

사용 가능한 플래그에 대한 자세한 내용은 https://cygwin.com/cygwin-ug-net/mkpasswd.html 을 참조하십시오.

코드를 보지 않았지만 ssh의 환경 설정은 다음과 같습니다.

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

따라서 ~ / .ssh / config 의 ssh 구성 정보 만 사용 하려면 / etc / ssh_config 를 삭제하십시오 .

또한 변경 후 새 cygwin 터미널 창을 열어야합니다.


/ etc / defaults / ssh_config
VeraKozya (

1

ssh 명령은 / etc / passwd의 홈 디렉토리에서 구성 파일을 찾습니다. 따라서 HOME 변수 설정이 작동하지 않습니다.

여러 가지 방법이 있지만 다음과 같이 심볼릭 링크를 만들어 간단하게 해결할 수 있습니다.

ln -s ~ / home


0

다른 답변은 저에게 효과적이지 않았습니다. 방금 c : \ cygwin64 \ etc \ ssh_config를 만들고 다음 기본 / 예제 파일에 붙여 넣었습니다.

# 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

다음 사람에게 도움이 되길 바랍니다.


0

허용 된 답변에 따르면 명령을 사용하여 초기화하십시오.

ssh-host-config

/etc/ssh_configCygwin에서 비어 있으면 만들 수도 있습니다 .

/etc/ssh_config에 의해 작성은 ssh-host-config또한 라인 밖으로 모든 코멘트와 함께 비어 있습니다.


새로운 구성으로 SSH를 다시로드하십시오.

구성을 수행하려면 /etc/ssh_config서비스를 다시 시작하지 않고 편집 을 마치면됩니다 .


1
이것이 허용되는 답변과 어떻게 다릅니 까?
Greenonline

원리와 ssh 구성에 미치는 영향을 자세히 설명하기 위해 언급 할 수는 없습니다.
Nick Tsai 2016 년

먼저 평판을 얻어야합니다. 어떤 형식이 잘못된 게시물을 편집하거나 응답 시도 답이없는 :-) 질문
Greenonline

확인! 수락 된 답변을 확인한 후 더 많은 설문 조사를 수행했기 때문에이 답변을 게시했습니다. 감사합니다.
Nick Tsai

0

Cygwin ssh는 구성이에있을 것으로 예상합니다 /home/$USER. 그러나 cygwin의 홈 디렉토리 "~"는 C:/Users/$USER실제로 /home비어 있습니다. 당신은 모두를 가질 수 C:/Users/$USER/.ssh/home/$USER/.ssh심볼릭 링크를 생성하여 유효한 경로가 될 :

ln -s ~ /home/$USER

0

현재 받아 들여진 답변으로 문제가 해결되지 않았습니다. 대신 .sshWindows 사용자 계정의 홈 디렉토리에서 Cygwin 사용자의 홈 디렉토리로 디렉토리를 심볼릭 링크했습니다 .

ln -s /cygdrive/c/Users/<MY-USER>/.ssh /home/<MY-USER>/.ssh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.