Aynı yönlendiricinin arkasında iki bilgisayarım var. Onlara A ve B diyelim.
A, aşağıdaki şekilde B'ye SSH yapabilir: ssh usr@<internal ip of computer>
B, aynı şeyi yaparak A'ya SSH yapabilir, ancak harici IP kullanılmalıdır. Yönlendiricimin 22numaralı bağlantı noktasını A bilgisayarının IP'SİNE ilettim, bu yüzden her şey bana mantıklı geliyor.
Bununla birlikte, 26 numaralı bağlantı noktasını bilgisayar B'ye ve ssh'yi her ikisi için de harici IP'yi kullanarak ağın dışından iletmek, ancak hangi bilgisayarın kullanılacağını etkin bir şekilde seçmek için 22 veya 26 numaralı bağlantı noktasını belirtmek istiyorum.
26 Numaralı bağlantı noktasına çıkış yoluyla izin vermeyi denedim iptables a'da ve B'nin girişinde, ama bu işe yaramadı. Ayrıca, A için 22 ile yaptığım gibi, 26 numaralı bağlantı noktasını B'nin dahili IP'SİNE (yönlendirici aracılığıyla) ilettim.
Harici IP ve 26 numaralı bağlantı noktasını kullanarak A'dan B'ye SSH yapmaya çalıştığımda elde ettiğim şey şu:
ssh: connect to host xx.xx.xxx.xx port 26: Connection refused.
Sürümler:
A = OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mart 2012
B = OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.1c 10 Mayıs 2012
A'nın 12.04 Ubuntu'su var, B Raspbian'lı bir Ahududu Pi.
DÜZENLEME: Koymayı unuttuğum bir şey: SSH yapılandırma dosyasını değiştirmeyi denedim (buldum /etc/ssh/ssh_config) Ben uncommented (sildim #) ile çizgi Port ve değişti 22 -e doğru 26. Bana hala bağlantı reddedildi mesajını verdi. (Boşuna yeniden başlattım.)
Linux sistemindeyseniz ve 26 numaralı bağlantı noktasında bir SSH sunucusuna bağlanmak istiyorsanız aşağıdaki komutu kullanabilirsiniz.
ssh user@192.168.1.1 -p 26
Not:
Sunucu ıp'sini sunucunuzun IP Adresi veya DNS adıyla değiştirin.
Bağlantı noktası numaranızı belirlediğiniz şekilde değiştirin.
özel bağlantı noktası SSH kullanıyorsanız, güvenlik duvarında giden, gelen bağlantı için aynı bağlantı noktasına izin verilir, aksi takdirde bağlantı kurulmaz
İkinci makinede 26 numaralı bağlantı noktasında SSH çalıştırmıyormuşsunuz gibi görünüyor. Bu makinedeki bağlantı noktası numarasını 26 olarak değiştirebilirsiniz.
Her iki düzenleme /etc/ssh/sshd_config & ssh'yi yeniden başlatmayı unutma (service sshd restart) veya 22'de bırakın, ancak yönlendiricideki 26 numaralı bağlantı noktasını ikinci makinedeki 22 numaralı bağlantı noktasına iletin. Ayrıca, bağlantılara izin vermek için ikinci makinedeki güvenlik duvarı ayarlarını değiştirmeyi de unutmayın.
22 Numaralı bağlantı noktasını yalnızca intranet ssh erişimi için kullanıyorum.
İnternet üzerinden erişim için özel (olağandışı) bir bağlantı noktası kullanıyorum.Bu, 22 numaralı bağlantı noktasını "iyi bilinen kullanıcı adları" için tarayan komut dosyası çocukları tarafından üretilen yükü azaltmamın avantajına sahiptir.
Bu dış sshd süreçleri tarafından kontrol edilir xinetd ve paralel olarak çalışan içselsshd process.In aşağıdaki örnekte 12345 numaralı bağlantı noktasını kullanıyorum:
Bunu sisteminizdeki herhangi bir boş bağlantı noktası numarasına değiştirmekte özgürsünüz.Belki daha yüksek bir değer, bu bağlantı noktasının bir bağlantı noktası tarafından taranmasını biraz daha olası hale getirecektir. "hızlı bağlantı noktası taraması".
Bu xinetd yapılandırma aşağıdaki gibidir:
service ssh-external{ socket_type = stream wait = no protocol = tcp type = UNLISTED user = root server = /usr/sbin/sshd server_args = -i -f /etc/ssh/external-sshd.config port = 12345 log_on_failure += USERID}
Dosya /etc/ssh/external-ssdh.config her zamanki bir kopyası olabilir sshd yapılandırma.Aşağıdaki ifadelerin yapılandırıldığından emin olun:
Port 12345AddressFamily inet
Ayrıca, genel anahtar kimlik doğrulamasını zorlamanızı ve internet erişimi için parola kimlik doğrulamasını devre dışı bırakmanızı öneririm:
PasswordAuthentication noPermitEmptyPasswords noChallengeResponseAuthentication no
Daha önce de açıkladığım gibi ilgili cevap ssh istemcisi, URI formatını aşağıdaki gibi belirtmenize izin verir: ssh://user@host:1234. Örneğin:
ssh ssh://myuser@mydomain.com:2222
burada 2222 bağlantı noktası numarasıdır. Bunun yerine kullanmak istediğiniz bağlantı noktası numarasını değiştirin. Tabii ki, belirtilen bağlantı noktasına bağlanmak için ssh sunucusunun (bağlanmaya çalıştığınız ana bilgisayarda) ilk etapta belirtilen bağlantı noktasını dinlemesi gerektiğini unutmayın
Ssh'yi varsayılan bağlantı noktasında (TCP / 22) çalıştırmak iyi bir fikir değildir, ne WAN IP 22'den LAN ıp'sinde ssh sunucusunu kullanan herhangi bir bağlantı noktasına iletmek iyi bir fikir değildir.
Ssh sunucusunun belirli bir bağlantı noktasında dinlemesini sağlamak için şunları yapmanız gerekir
Düzenle /etc/ssh/sshd_config (aşağıdakilere dikkat edin d) itibaren #Port 22 -e doğru Port 26. Yani, bağlantı noktasını açın ve değiştirin. 26'dan daha iyi bir şey olurdu rastgele yukarıda (65535'in altında), 42895 gibi. Ayrıca değiştirmeyi düşünün PermitRootLogin no.