Aynı sisteme birden fazla SSH bağlantısı - mümkün mü?


14

Gelen SSH bağlantılarını kabul edebilen bir sunucu gibi davranan bir linux bilgisayarım var.

SSH kullanarak aynı sunucuya telefonum ve dizüstü bilgisayarımın yanı sıra diğer masaüstleri gibi birden fazla cihazı aynı anda güvenilir bir şekilde bağlamak mümkün müdür?

Yardım için teşekkürler.


63
Neden sormadan önce denemedin?
Dmitry Grigoryev

1
Sadece bu değil, aynı sistem çifti arasında birden fazla bağlantınız olabilir. Komut satırı için "Windows uzak masaüstü" davranışını istiyorsanız screenda moshyararlı olabilir veya faydalı olabilir: birden çok bağlantıdan geçen tek bir arabirim.
pjc50

7
Sormadan önce denemememin 2 nedeni var; birincisi, linux anlayışımdaki inanç eksikliğidir - eğer işe yarasaydı, güvenmeye gelirsem güvenilirliğine hala güvenmezdim. İkincisi, Superuser topluluğu, genel olarak konuşan, soranlara yardım etmek için harika ve hızlı - teşekkürler topluluğu.
Sam3000

Yanıtlar:


50

Kısa cevap - Evet. Genellikle varsayılan olarak çalışır.

Uzun cevap - Ne için kullandığınıza bağlı olarak, birden fazla bağlantı ile yavaşlayabilir, ancak bu bir ssh sorunu değil, bir bant genişliği sorunudur.


15

Evet mümkündür, varsayılan davranıştır.

Güven

Sen güncellenmiş bir sürümünü kullanıyorsanız güvenebilirsiniz ait sshve protokol 1 daha fazla değildir.

grep "Protocol"  /etc/ssh/sshd_config

Yukarıdaki komut size vermelidir Protocol 2.

Bağlantı sınırları

Bir sunucuya uzaktan erişime izin vermek için uzak '69'da doğan sshşifreli evrim olarak görebilirsiniz telnet. Not olduğunu sshTCP üzerinden bağlanır ve X-oturumları (grafik oturum) çok ileri edebiliyor. Çok görevli ve çok kullanıcılı Unix'in iç doğasında ... sınırsız olmasa bile !!!

Bu sınırlardan bazılarını TCP ve SSH sınırlarında görebilirsiniz:

  • cat /proc/sys/net/core/somaxconnGenellikle 128, maksimum TCP görmek olağanüstü sahip olabilir bağlantısı;

    Kern.ipc.somaxconn sysctl (8) değişkeni, yeni TCP bağlantılarını kabul etmek için dinleme kuyruğunun boyutunu sınırlar. Varsayılan 128 değeri, aşırı yüklü bir web sunucusundaki yeni bağlantıların sağlam işlenmesi için genellikle çok düşüktür.

  • cat /proc/sys/net/core/netdev_max_backlog, genellikle 1000, TCP paket kuyruğunun maksimum uzunluğu
  • less /etc/security/limits.conf kullanıcı sınırlarını bulabilirsiniz.
  • Maks . Oturum sayısı/etc/ssh/sshd_config

    MaxSessions Ağ bağlantısı başına izin verilen maksimum açık oturum sayısını belirtir. Varsayılan 10'dur .

  • #MaxStartups 10:30:60genellikle /etc/ssh/sshd_configve varsayılan olarak 10 olarak ayarlanmış

    SSH arka plan programıyla maksimum eşzamanlı kimliği doğrulanmamış bağlantı sayısını belirtir ... Varsayılan değer 10'dur.


Referanslar


2
somaxconn"sahip olabileceğiniz maksimum TCP bağlantısı [sayısı" değil , maksimum bekleyen bağlantı sayısı , yani maksimum dinleme birikimi . Sahip olabileceğiniz maksimum TCP bağlantısı sayısı 128'den büyük olan büyüklük sıralarıdır. Aksi takdirde pratik sunucular mümkün olmaz.
user207421

@ ejp spot için teşekkürler, acelem vardı ve bağlantıdan önce "yeni" özledim. BTW "olağanüstü" daha kesindir. Daha açık olması umuduyla bazı kelimeler daha ekledim.
Hastur

MaxSessionsyalnızca tek bir TCP bağlantısı üzerinden çoklanmış oturumların sayısını sınırlar ( daha fazla ayrıntı ), böylece aynı ana bilgisayara yeniden bağlanmanızı sınırlamaz. (Toplam ssh oturumları için varsayılan bir sınır saçma olacaktır. Yüzlerce veya binlerce kullanıcı hesabına ve yalnızca 10 ssh oturumuna izin verilen paylaşılan bir web barındırıcısı hayal edin.)
Josef, Monica'yı

Bu yazılmıştır @Josef MaxSessions belirtir açık oturumların izin verilen maksimum sayı ağ bağlantı başına , belki değil yeterince açık: bir şey farklı (kılavuz sayfasında belirtildiği gibi). Ek referans ve bu noktanın altını çizdiğiniz için teşekkür ederiz. (Not: BTW, ssh ile bir Linux bilgisayarın ortak kullanımı 10 ^ 5 + kullanıcı hesabına sahip paylaşılan bir web barındırıcısı değildir ve bu durumda varsayılan ayar tanımı gereği uygun olamaz :-))
Hastur

6

Evet, tamamen öyle. Ancak bu uygulama tarafından tanımlanmalıdır. Birden fazla bağlantıyı işleyemeyen kendi (muhtemelen çok güvenli ve daha kötü) ssh sunucunuzu da programlayabilirsiniz. Ancak, yaygın HTTP Sunucuları da bunu destekliyorsa, openssh da bunu destekliyor.

Aslında bu Unix kavramıdır: Bir sunucunun tüm işi yaptığı ve sadece küçük istemcilerin bağlandığı çok terminalli bir sistemdir (terminaller).


4

Evet, bu çok yaygın. Gerçekten de bir dosya sunucusu olarak kullanılırsa ve birçok kullanıcı tarafından kesinlikle gereklidir. SFTP SSH kullanır ve buna bağlı çok fazla EDI etkinliği vardır.

Cihazlardan, özel kullanıcı oturum açma (güç kapatma veya yeniden başlatma gibi) olayları tetiklemek mümkündür.

Ayrıca SCP'yi (WinSCP genellikle kaynak koduna erişmek için kullanılır) ve KDE kullanıcıları hala balık: Konqueror'da kullanabilirler.

Ayrıca dikkat edilmesi gereken nokta, bakım sırasında kayıp olması durumunda ek portların kullanılmasıdır (Ubuntu do-release-upgrade, diyelim).

Yani evet, hiç birden fazla PuTTY terminali açmadınız mı?


Garip bir şekilde yeterince yoktu! Ama ekstra bilgi için teşekkür ederim, bakım için ek portlar hakkında ne demek istediniz?
Sam3000

1
Uzaktaki bir terminalden do-relesase-yükseltme sırasında, iletilerin kaybolma riski vardır (SSH veya ağın yeniden başlatılması). Bunlar bağlantı noktası 22'de yeniden kurulamazsa Ubuntu, ikinci bir SSH örneği kullanarak alternatif bir bağlantı noktası 1022 sağlar. Güncelleme yeniden bağlandıktan sonra ekran -x / ekran -r ve bir sudo su ile erişilebilen "ekran" içinde gerçekleşir. ("ekran" ve "tmux" a bakın). Bu konuda bol miktarda bilgi.
mckenzm
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.