ssh tüneli - bağlama: İstenilen adres atanamıyor


26

Bir çorap (-D) ssh tüneli yaratmaya çalışıyorum - Linux kutusundan Linux kutusuna (her ikisi de centos):

uzak tarafta çalışan sshd ok.

Yerel makineden şunu görüyoruz / görüyoruz:

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

(8.8.8.8 gerçekten sunucumun IP adresi ve 'kullanıcı' gerçek kullanıcı adımdır)

Bu terminal penceresinde uzak tarafa giriş yaptım. Yerel bağlantı noktasının bu komuttan önce kullanılmadığını ve komuttan sonra bir ssh işlemi tarafından kullanıldığını doğrulayabilirim:

netstat -lnp | grep 1080

Bu nedenle, bu hataya ilişkin çoğu yanıtlardan farklı olarak, sorun geridöngü arabirimi ataması gibi görünmeyecektir. Bu tüneli bir posta istemcisiyle kullanmaya çalışırsam, yerel taraf denemeye izin verir ('proxy başarısız' hatası yok), ancak veri / cevap döndürülmez.

Uzak tarafta sshd_config'imde "PermitTunnel yes" var (yine de 'evet' varsayılan olmalıdır).

Fikirler veya ipuçları?

İlgili hata ayıklama çıktısı

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

Diğer ipucu: Windows çalıştıran istemcide bir Sanal Kutu çalıştırırsam, aynı uzaktaki sunucuya çalışan bu tüneldeki macunun bulunduğu bir tünel açın.

Stranger Still "Doğrudan Linux İstemcisi üzerinde çalışan Putty (linux için) kullanırsam, Windows'ta çalışan bir Windows Bağlamında ÇALIŞMA YAPAN macun ayarlarının tam bir kopyası olsa bile, çalışmaz. İstemci Makinesi ?? Balık gibi bir şey var ... hala ne olduğunu bulmak için deneyler yapmaya çalışıyorum.


Ya ipv4 kullanmaya zorlarsanız? (sadece ilk sorun giderme testi olarak). Örn ssh -4 -D 1080 user@8.8.8.8
Fred Clausen

4000 daha yüksek bir liman numarası deneyebilir misiniz?
jwbensley

Girişler için teşekkürler. Çalışmak için aldım: ssh -4 -D 8081 user@8.8.8.8
JosephK

Yanıtlar:


41

Buradaki döngüyü kapat. Bu durumda cevap, ssh istemcisini ipv4 kullanmaya zorlamaktı. Örneğin

ssh -4 -D 8081 user@8.8.8.8

Bu yüzden başarılı olamadan macty (Linux'ta çalışan) 'ip4 kuvveti' seçebildiğim dışında düşünürdüm. Ayrıca bu makinede IPV6 devre dışıdır, bu nedenle teorik olarak oyunda olmamalıydı. Tamamen tutarsız sonuçlar, hala bu şeyin farklı permütasyonlarını denemeye başladım. Her durumda, cevabınız çalışmama yardımcı oldu ve belki de CentOS veya Linux Çekirdeğinin bu versiyonunun ya da bazılarının nasıl çalıştığı hakkında garip bir şey ortaya çıkardı - Teşekkürler.
JosephK

Uzun süreli ancak sunucudaki SSH DNS çözünürlüğünü kapatıyor, sshd_config dosyasındaki "UseDNS no" sorunu çözebilir. Belki de bazı garip DNS çözümlemeleri sunucuda bağlantı sorunlarına neden oluyor.
Fred Clausen

1
Çok teşekkürler, -4 de Ubuntu 11.04 için bir çözüm oldu.
Sander

Ubuntu 13.04'e yükselttikten sonra bu sorunu yaşamaya başladım.
Nick

1
Her seferinde -4 belirtmek yerine, tüm ssh bağlantılarının yalnızca IPv4 ile yapılması gerektiğini varsayarsak, ssh_config dosyanıza "AddressFamily inet" i ekleyin - kullanıcı başına $ {HOME} /. Ssh / ssh_config veya sistem genişliğinde / etc / ssh / ssh_config içindeki tüm kullanıcılar
JG Miller
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.