SSH 터널-바인드 : 요청 된 주소를 할당 할 수 없습니다


26

양말 (-D) ssh 터널을 만들려고합니다-Linux 상자에서 Linux 상자 (둘 다 centos) :

sshd가 원격 쪽에서 실행되고 있습니다.

로컬 머신에서 우리는 이것을 / 보았습니다 :

ssh -D 1080 user@8.8.8.8.
user@8.8.8.8's password: 
bind: Cannot assign requested address

(여기서 8.8.8.8은 실제로 내 서버의 IP이고 '사용자'는 내 실제 사용자 이름입니다)

이 터미널 창에서 원격으로 로그인했습니다. 이 명령 이전에 로컬 포트가 사용되지 않았는지 확인한 다음 명령 후 ssh 프로세스가 다음을 통해 사용했는지 확인할 수 있습니다.

netstat -lnp | grep 1080

따라서이 오류가있는 대부분의 googled 응답과 달리 문제는 루프백 인터페이스 할당이 아닌 것 같습니다. 이 터널을 메일 클라이언트와 함께 사용하려고하면 로컬 측에서 시도를 허용하지만 ( '프록시 실패'오류 없음) 데이터 / 응답이 반환되지 않습니다.

원격 쪽에서는 sshd_config에 "PermitTunnel yes"가 있습니다 (어쨌든 'yes'가 기본값이어야 함).

아이디어 또는 단서?

관련 디버그 출력은 다음과 같습니다.

OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *

....

debug1: Authentication succeeded (password).
debug1: Local connections to LOCALHOST:1080 forwarded to remote address socks:0
debug1: Local forwarding listening on 127.0.0.1 port 1080.
debug1: channel 0: new [port listener]
debug1: Local forwarding listening on ::1 port 1080.
bind: Cannot assign requested address
debug1: channel 1: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = en_US.utf8

다른 단서 : Windows를 실행하는 클라이언트에서 Virtual Box를 실행하면 해당 상자에 퍼티가있는 터널을 열면 해당 터널이 동일한 원격 서버로 작동합니다.

여전히 위험 "Linux 클라이언트에서 직접 실행중인 Putty (리눅스 용)를 사용하는 경우 설정이 동일한 가상 상자에서 Windows의 가상 상자에서 실행되는 Putty에서 작동하는 퍼티 설정과 정확히 동일하더라도 작동하지 않습니다. 클라이언트 머신 ?? 비린내가 있습니다 ... 아직도 그것이 무엇인지 알아 내기 위해 실험을 시도하고 있습니다.


ipv4를 사용하려고하면 어떻게합니까? (초기 문제 해결 테스트와 동일). 예 ssh -4 -D 1080 user@8.8.8.8
Fred Clausen

더 높은 포트 번호 4000을 사용해 볼 수 있습니까?
jwbensley

입력 주셔서 감사합니다. ssh -4 -D 8081 user@8.8.8.8
JosephK

답변:


41

여기 루프를 닫습니다. 이 경우 대답은 ssh 클라이언트가 ipv4를 사용하도록하는 것입니다. 예 :

ssh -4 -D 8081 user@8.8.8.8

따라서 나는 퍼티 (리눅스에서 실행)에서 'force ip4'를 성공하지 않고 선택할 수 있다는 점을 제외하고는 생각할 것입니다. 또한이 컴퓨터에서는 IPV6이 비활성화되어 있으므로 이론적으로는 사용하지 않아야합니다. 여전히 일관되지 않은 결과 로이 일에 대한 다른 순열을 시도하면 머리가 긁 힙니다. 어쨌든 귀하의 답변이 작동하게하는 데 도움이되었으며 아마도이 버전의 CentOS 또는 Linux Kernel 또는 그와 같은 운영 체제에 대해 이상한 점을 발견했을 것입니다-감사합니다.
JosephK

sshd_config의 "UseDNS no"서버에서 SSH DNS 확인을 길게 설정해도 문제가 해결 될 수 있습니다. 서버에서 이상한 DNS 해상도가 바인드되어 바인드 문제가 발생했을 수 있습니다.
Fred Clausen

1
고마워, -4도 우분투 11.04의 솔루션이었습니다.
Sander

우분투 13.04로 업그레이드 한 후이 문제가 발생하기 시작했으며 이것이 수정되었습니다.
Nick

1
모든 ssh 연결이 IPv4로만 수행된다고 가정 할 때마다 -4를 지정하지 않고 $ Address (HOME) /. ssh / ssh_config의 사용자 별 또는 ssh_config의 사용자 별 ssh_config 파일에 "AddressFamily inet"을 추가하십시오. / etc / ssh / ssh_config의 모든 사용자
JG Miller
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.