Beberapa koneksi SSH ke sistem yang sama - apakah mungkin?

14

Saya memiliki komputer linux yang bertindak sebagai server yang dapat menerima koneksi SSH yang masuk.

Apakah mungkin untuk menghubungkan beberapa perangkat secara andal secara bersamaan, seperti ponsel dan laptop saya, serta desktop lain, ke server yang sama menggunakan SSH?

Terima kasih untuk bantuannya.

Sam3000
sumber
63
Mengapa Anda tidak mencoba saja sebelum bertanya?
Dmitry Grigoryev
1
Tidak hanya ini, tetapi Anda dapat memiliki banyak tautan antara pasangan sistem yang sama. Anda juga dapat menemukan screenatau moshberguna jika Anda menginginkan perilaku "Windows remote desktop" untuk baris perintah: antarmuka tunggal yang dilewatkan di beberapa tautan.
pjc50
7
Ada 2 alasan mengapa saya tidak mencoba sebelum bertanya; yang pertama adalah kurangnya kepercayaan yang saya miliki dalam pemahaman saya sendiri tentang linux - jika sudah berhasil saya masih belum akan percaya keandalannya jika saya mengandalkannya. Yang kedua adalah komunitas Superuser, secara umum, mengagumkan dan cepat untuk membantu mereka yang bertanya - terima kasih komunitas.
Sam3000

Jawaban:

50

Jawaban singkatnya - Ya. Biasanya berfungsi secara default.

Jawaban panjang - Tergantung pada apa Anda menggunakannya, mungkin memperlambat dengan beberapa koneksi, tetapi itu adalah masalah bandwidth, bukan masalah ssh.

adgelbfish
sumber
15

Ya itu mungkin, itu adalah perilaku default.

Kepercayaan

Anda dapat mengandalkan jika Anda menggunakan versi terbaru dari sshdan protokol tidak lagi 1.

grep "Protocol"  /etc/ssh/sshd_config

Perintah di atas seharusnya memberi Anda Protocol 2.

Batas untuk koneksi

Anda dapat melihat sshsebagai evolusi terenkripsi dari telnet, lahir di jauh '69 untuk memungkinkan akses jarak jauh ke server. Catatan yang sshmenghubungkan melalui TCP dan dapat meneruskan sesi-X (sesi grafis) juga. Multitasking dan multi-pengguna adalah sifat dasar Unix ... bahkan jika itu bukan tanpa batas !!!

Anda dapat melihat beberapa batasan tersebut dalam batas TCP dan SSH:

  • cat /proc/sys/net/core/somaxconn, biasanya 128, untuk melihat koneksi TCP luar biasa yang dapat Anda miliki;

    Variabel kern.ipc.somaxconn sysctl (8) membatasi ukuran antrian mendengarkan untuk menerima koneksi TCP baru. Nilai default 128 biasanya terlalu rendah untuk penanganan koneksi baru yang kuat di server web yang sarat muatan.

  • cat /proc/sys/net/core/netdev_max_backlog, biasanya 1000, panjang maksimum antrian paket TCP
  • less /etc/security/limits.conf Anda dapat menemukan batasan untuk pengguna.
  • MaxSessions di/etc/ssh/sshd_config

    MaxSessions Menentukan jumlah maksimum sesi terbuka yang diizinkan per koneksi jaringan. Standarnya adalah 10 .

  • #MaxStartups 10:30:60biasanya berkomentar di /etc/ssh/sshd_configdan secara default diatur ke 10

    Menentukan jumlah maksimum koneksi konautauthentikasi bersamaan ke daemon SSH ... Standarnya adalah 10.


Referensi

Cepat
sumber
2
somaxconnadalah jumlah maksimum koneksi luar biasa , yaitu backlog mendengarkan maksimum, bukan 'jumlah maksimum koneksi TCP yang dapat Anda miliki'. Jumlah maksimum koneksi TCP yang dapat Anda miliki adalah urutan besarnya lebih besar dari 128. Jika tidak, server praktis tidak akan mungkin.
user207421
@JP terima kasih atas tempatnya, saya sedang terburu-buru dan saya ketinggalan "baru" sebelum koneksi. BTW "luar biasa" lebih tepat. Saya menambahkan beberapa kata lebih banyak dengan harapan lebih jelas.
Hastur
MaxSessionshanya membatasi jumlah sesi multipleks melalui satu koneksi TCP ( lebih detail ) sehingga tidak membatasi Anda untuk terhubung ke host yang sama lagi. (Batas default 10 untuk total sesi ssh adalah tidak masuk akal. Bayangkan hosting bersama dengan ratusan atau ribuan akun pengguna dan hanya 10 sesi ssh diizinkan.)
Josef mengatakan Reinstate Monica
@ Josef Ada tertulis MaxSessions Menentukan jumlah maksimum sesi terbuka yang diizinkan per koneksi jaringan , tidak ada yang berbeda (seperti yang dilaporkan dalam halaman manual): mungkin tidak cukup jelas. Terima kasih atas referensi tambahan dan untuk menggarisbawahi hal ini. (Catatan: BTW penggunaan umum dari komputer Linux dengan ssh bukan web host bersama dengan 10 ^ 5 + akun pengguna, dan dalam hal itu pengaturan default tidak dapat sesuai dengan definisi :-))
Hastur
6

Ya, benar-benar. Tetapi ini harus ditentukan oleh implementasi. Anda juga dapat memprogram server ssh Anda sendiri (mungkin tidak begitu aman, dan lebih buruk) yang tidak dapat menangani beberapa koneksi. Tapi sama seperti HTTP-Server yang umum tentu saja mendukung ini, openssh juga melakukannya.

Sebenarnya ini adalah konsep Unix: Sistem multi-pengguna di mana server melakukan semua pekerjaan dan hanya klien kecil yang terhubung (terminal).

Larkey
sumber
4

Ya, ini sangat umum. Memang jika digunakan sebagai fileserver dan oleh banyak pengguna itu sangat penting. SFTP menggunakan SSH, dan ada banyak aktivitas EDI yang juga bergantung padanya.

Dari perangkat dimungkinkan untuk memicu peristiwa dengan login pengguna khusus (seperti mematikan atau me-reboot).

Pertimbangkan juga SCP (WinSCP biasanya digunakan untuk mengakses kode sumber), dan pengguna KDE masih dapat menggunakan fish: di Konqueror.

Yang juga perlu diperhatikan adalah penggunaan port tambahan jika terjadi kehilangan selama pemeliharaan (Ubuntu do-release-upgrade, say).

Jadi ya, saya kira Anda belum pernah memiliki beberapa terminal Putty terbuka?

mckenzm
sumber
Tidak cukup aneh aku belum! Tapi terima kasih atas informasi tambahannya, apa maksud Anda tentang port tambahan untuk pemeliharaan?
Sam3000
1
Selama do-relesase-upgrade dari terminal jarak jauh, ada risiko bahwa comms akan hilang (restart SSH atau jaringan, katakanlah). Jika ini tidak dapat dibangun kembali pada port 22 Ubuntu menyediakan port alternatif 1022 menggunakan instance SSH kedua. Pembaruan terjadi di dalam "layar" yang dapat diakses dengan layar -x / layar -r setelah menghubungkan kembali dan sudo su. (lihat "layar" dan "tmux"). Banyak informasi di sekitar ini.
mckenzm