GNU/Linux >> Belajar Linux >  >> Linux

Ssh – Bagaimana Tcp-keepalive Bekerja Di Ssh?

Saya mencoba membuat kode skrip shell yang menggunakan koneksi ssh untuk melakukan "detak jantung". Saya ingin mengakhiri sisi klien dan server dari koneksi tersebut setelah batas waktu tertentu (setelah koneksi terputus).

Apa yang saya temukan sejauh ini:

  • TCPKeepAlive ya/tidak untuk ssh dan sshd
  • ClientAliveCountMax untuk sshd
  • ClientAliveInterval untuk sshd
  • ServerAliveCountMax untuk ssh
  • ServerAliveInterval untuk ssh

Untuk mengubah “ClientAliveCountMax” saya harus memodifikasi sshd_config pada setiap mesin target (opsi ini dinonaktifkan secara default).

Jadi pertanyaan saya adalah – dapatkah saya menggunakan “TCPKeepAlive” untuk tujuan saya juga (tanpa mengubah apa pun pada mesin sumber/target)?

Sistem operasi target adalah SLES11 SP2 – tetapi menurut saya itu tidak relevan di sini.

Jawaban yang Diterima:

Anda mungkin ingin menggunakan pengaturan ServerAlive untuk ini. Mereka tidak memerlukan konfigurasi apa pun di server, dan dapat diatur pada baris perintah jika Anda mau.

ssh -o ServerAliveInterval=5 -o ServerAliveCountMax=1 $HOST

Ini akan mengirim pesan ssh keepalive setiap 5 detik, dan jika tiba saatnya untuk mengirim keepalive lain, tetapi tanggapan untuk yang terakhir tidak diterima, maka koneksi akan dihentikan.

Perbedaan penting antara ServerAliveInterval dan TCPKeepAlive adalah lapisan tempat mereka beroperasi.

  • TCPKeepAlive beroperasi pada lapisan TCP. Ini mengirimkan paket TCP ACK kosong. Firewall dapat dikonfigurasi untuk mengabaikan paket-paket ini, jadi jika Anda melewati firewall yang menghentikan koneksi yang tidak aktif, ini mungkin tidak membuat koneksi tetap hidup.
  • ServerAliveInterval beroperasi pada lapisan ssh. Ini benar-benar akan mengirim data melalui ssh, sehingga paket TCP memiliki data terenkripsi dan firewall tidak dapat mengetahui apakah itu paket keepalive, atau paket yang sah, jadi ini berfungsi lebih baik.

Linux
  1. Bagaimana Cara Kerja Awk ‘!a[$0]++’?

  2. Bagaimana Cara Kerja Sticky Bit?

  3. Bagaimana Cara Kerja Bom Garpu?

  1. Bagaimana rm bekerja? Apa yang rm lakukan?

  2. Bagaimana sebenarnya sig_atomic_t bekerja?

  3. Bagaimana cara kerja perintah ps?

  1. Apa itu Makefile dan bagaimana cara kerjanya?

  2. Apa itu Server Web, dan Bagaimana Cara Kerja Server Web?

  3. Bagaimana cara kerja antarmuka loopback