2015-01-29 6 views
1

정적 IP (예 : 10.10.10.10)가있는 Windows 7 기반의 노트북과 원격 PC가 있습니다. 나는 내 일을 위해 ssh-tunnel을 만들고 싶다. 그래서 cygwin을 설치하고 ssh 연결을 위해 2222 포트를 공유했습니다. 지금은 sh.exe에 내 로컬 PC에 입력 할 때,SSH 공개 키 인증을 얻을 수 없습니다.

ssh -v [email protected] -p 2222 

나는 접속 로그를 확인하고이 원격 PC 후에 사용자 "테스트"의 비밀을 올려주세요. 암호를 입력하면 모두 괜찮습니다. 원격 PC에 액세스 할 수 있습니다.

하지만 저는 매우 게으르며 매번 비밀번호를 입력하고 싶지 않습니다. 그래서, 나는이 연결을위한 ssh-keypair를 만들고 싶다. 이를 위해 나는 원격 호스트

ssh-keygen -t dsa -b 1024 

에 입력하고 내가 C에서 키를 복사 그런 다음 id_dsa & id_dsa.pub

를 얻을 : \ Cygwin에서 \ 홈 \ Test.ssh \ id_dsa.pub-C : \ Cygwin에서 \ 홈 \ Test.ssh \ authorized_keys에, 내 로컬 PC에 DSA 키 쌍을 이동하고 내 ~/스푸핑

또한

내가 내 로컬 ~/스푸핑/설정에서 규칙을 만드는 사람들을 넣어 :

이제210

, 내가이 로그를 참조 원격 PC

ssh -v [email protected] -p 2222 

에 SSH 연결을 생성합니다 : I 원격 PC에 액세스 할 수 없습니다 이후

OpenSSH_6.6.1, OpenSSL 1.0.1i 6 Aug 2014 
debug1: Reading configuration data /c/Users/Andrey/.ssh/config 
debug1: /c/Users/Andrey/.ssh/config line 5: Applying options for remotepc 
debug1: Hostname has changed; re-reading configuration 
debug1: Reading configuration data /c/Users/Andrey/.ssh/config 
debug1: Connecting to 10.10.10.10 [10.10.10.10] port 2222. 
debug1: Connection established. 
debug1: identity file /c/Users/Andrey/.ssh/id_dsa type 2 
debug1: identity file /c/Users/Andrey/.ssh/id_dsa-cert type -1 
debug1: Enabling compatibility mode for protocol 2.0 
debug1: Local version string SSH-2.0-OpenSSH_6.6.1 
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.7 
debug1: match: OpenSSH_6.7 pat OpenSSH* compat 0x04000000 
debug1: SSH2_MSG_KEXINIT sent 
debug1: SSH2_MSG_KEXINIT received 
debug1: kex: server->client aes128-ctr [email protected] none 
debug1: kex: client->server aes128-ctr [email protected] none 
debug1: sending SSH2_MSG_KEX_ECDH_INIT 
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY 
debug1: Server host key: ECDSA 5a:a8:bf:df:d0:4a:ee:8c:55:29:89:80:19:41:a9:4e 
debug1: Host '[10.10.10.10]:2222' is known and matches the ECDSA host key. 
debug1: Found key in /c/Users/Andrey/.ssh/known_hosts:8 
debug1: ssh_ecdsa_verify: signature correct 
debug1: SSH2_MSG_NEWKEYS sent 
debug1: expecting SSH2_MSG_NEWKEYS 
debug1: SSH2_MSG_NEWKEYS received 
debug1: Roaming not allowed by server 
debug1: SSH2_MSG_SERVICE_REQUEST sent 
debug1: SSH2_MSG_SERVICE_ACCEPT received 
debug1: Authentications that can continue: publickey,password,keyboard-interactive 
debug1: Next authentication method: publickey 
debug1: Offering DSA public key: /c/Users/Andrey/.ssh/id_dsa 
Connection closed by 10.10.10.10 

합니다. 어쩌면 원격 PC의 sshd_config가 도움이 될 수 있으며 도움을 줄 수 있습니다.

Port 2222 

PubkeyAuthentication yes 

UsePrivilegeSeparation yes 

Subsystem sftp /usr/sbin/sftp-server 

아무도 내가 왜 DSA 키 쌍에 연결할 수 없습니까? 고맙습니다.

답변

0

ssh에 몇 가지 문제가있어서 해결 한 것 같습니다. 이 문제는 약간 다르지만 문제가 될 수있는 호스트 이름이 변경되었습니다.

가장 상세한 디버그 정보를 보려면 -vvv 옵션을 사용하여 레벨 3 상세 모드에서 ssh를 실행하십시오.

그 제공하지 않습니다 자세한 내용은 config.backup하기 위해 설정 파일의 이름을 변경하고 다음 명령을 실행하려고하면 :

ssh -i ~/.ssh/id_dsa -v [email protected] -p 2222 'exit' 

그렇게 보인다 세션의 명백한 갑작스러운 종료하지 않을 수 있습니다 exit는 ssh의 오류 상태를 반환 할 수 있습니다.

+0

고마워. 제 경우에는 라우터 포트를 닫았습니다. 문제 해결됨. – 0xFF

+1

잘 알고 있습니다. 다행히 문제가 해결되었습니다. –