GNU/Linux >> Belajar Linux >  >> Ubuntu

Ssh Mengatur Ulang Ke Port Default Saat Reboot?

Saya mengubah port SSH default saya di server rumah saya (di /etc/ssh/sshd_config file) ke port 54747, lalu restart ssh dan sshd layanan (tidak pernah yakin yang mana jadi saya melakukan keduanya hanya untuk aman). Untuk menguji konfigurasi saya, saya keluar dan masuk kembali tanpa masalah.

Beberapa hari kemudian, saya menginstal pembaruan apt, dan kemudian me-reboot server saya. Ketika saya mencoba masuk kembali SSH (pada port 54747), saya mendapatkan kesalahan koneksi ditolak.

Untuk beberapa alasan, saya mencoba SSH pada port default, dan berhasil! Saya kembali untuk memeriksa sshd_config, tetapi masih memiliki port khusus. Jadi saya memulai kembali ssh dan sshd services, dan kembali ke perilaku "biasa" (ssh pada port 54747). Saya mencoba me-reboot lagi, dan koneksi ditolak lagi…

Adakah yang tahu apa yang saya lakukan salah?

Detail tambahan :

  • Ubuntu 16.04.2 LTS
  • Server juga menggunakan HTPC, dengan sesi terbuka (pengguna yang sama dengan SSH) di TV saya
  • Saya SSH menggunakan kunci RSA laptop saya, dan telah menonaktifkan otentikasi kata sandi
  • Dulu saya reboot dengan sudo reboot -h now , tetapi setelah mencari, saya menemukan itu tidak disukai oleh beberapa orang, jadi saya mencoba sudo reboot , tapi tidak ada perbedaan

EDIT
Urutan acara :

  1. Ubah port SSH dari 22 menjadi 54747 di /etc/ssh/sshd_config
  2. Mulai ulang layanan ssh dan sshd
  3. Akhiri sesi SSH saat ini
  4. SSH berhasil masuk kembali pada port 54747
  5. Mulai ulang
  6. Sambungan SSH error pada port 54747, namun berhasil pada port 22
  7. Mulai ulang layanan ssh dan sshd
  8. SSH berhasil masuk kembali pada port 54747, kesalahan koneksi pada port 22
  9. Mulai ulang dan kembali ke 6

EDIT 1 : netstat keluaran

[email protected]:~$ sudo netstat -lntp | grep :54747
[email protected]:~$ sudo netstat -lntp | grep :22
tcp6       0      0 :::22                   :::*                    LISTEN      1/init  

EDIT 2 : service sshd status

● ssh.service - OpenBSD Secure Shell server
   Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
   Active: inactive (dead)

EDIT 3 : lsof -i | grep ssh

systemd      1     root   46u  IPv6  42724      0t0  TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
systemd      1     root   49u  IPv6  14641      0t0  TCP *:ssh (LISTEN)
sshd      4088     root    3u  IPv6  42724      0t0  TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd      4088     root    4u  IPv6  42724      0t0  TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd      4202      rgo    3u  IPv6  42724      0t0  TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)
sshd      4202      rgo    4u  IPv6  42724      0t0  TCP ATLAS:ssh->192.168.1.27:49837 (ESTABLISHED)

Sebagai referensi, ATLAS adalah nama host server jarak jauh, 192.168.1.27 adalah IP LAN laptop saya, dan perintah dijalankan antara langkah 6 dan 7

ufw status

Status: inactive

EDIT 4 : ps -ef |grep sshd

root      4088     1  0 22:40 ?        00:00:00 sshd: rgo [priv]
rgo       4202  4088  0 22:40 ?        00:00:00 sshd: [email protected]/1 sshd

Jawaban yang Diterima:

ssh mungkin "socket diaktifkan" oleh systemd tergantung pada konfigurasi, yang berarti bahwa awalnya systemd yang mengatur port mendengarkan, dan sshd hanya dimulai ketika klien pertama kali terhubung. Ini untuk mempercepat waktu mulai:daemon layanan hanya dimulai sesuai permintaan.

Terkait:Bagaimana Cara Merekam Layar di Ubuntu?

Namun ini berarti Anda juga harus mengonfigurasi systemd ke port yang cocok. Anda akan menemukan konfigurasi sistem di /lib/systemd/system/ssh.socket yang mencantumkan ListenStream=22 . Untuk menimpanya, buat file /etc/systemd/system/ssh.socket.d/port.conf (membuat direktori ssh.socket.d jika diperlukan) yang berisi:

[Socket]
ListenStream=
ListenStream=54747

Ubah nomor ke port yang diinginkan. Entri kosong pertama menghapus default sebelumnya, dan entri berikutnya menambahkan yang baru. Ini mengesampingkan default yang dikirimkan dalam /lib/systemd/system/ssh.socket dan harus dilakukan selain mengubah /etc/ssh/sshd_config .

Kemudian jalankan sudo systemctl daemon-reload untuk memberi tahu systemd tentang perubahan Anda, dan sudo systemctl reload ssh jika daemon ssh Anda sebelumnya berjalan.


Ubuntu
  1. Penerapan Kippo SSH Honeypot di Ubuntu Linux

  2. Cara Mengatur Tunneling SSH

  3. Bagaimana cara mengubah port SSH di Lubuntu 20.04 Linux

  1. Cara Mengubah Port SSH Di Linux

  2. Cara Mengubah Port SSH di CentOS

  3. Ubah port SSH di CWP

  1. Menghubungkan Terowongan Ssh Saat Reboot?

  2. Ubah nomor port server SSH default

  3. Terowongan SSH HTTPS