Konfigurasi untuk beberapa port SSH

24

Saya perlu mendengarkan SSH pada dua port: 22 untuk akses admin hosting dan 26 untuk akses reguler. Saya ingin melarang login root pada 26 dan melarang semua kecuali IP internal untuk port 22. Yang terakhir dapat dilakukan dengan aturan iptables, tapi saya tidak tahu tentang yang sebelumnya. Ada ide?

CKoning
sumber
3
root seharusnya tidak bisa masuk melalui ssh; periode; Akhir dari cerita; buck berhenti di sini; tak pernah. Jika Anda memerlukan akses root maka Anda login melalui pengguna normal Anda, lalu naikkan dengan suatau lebih baik lagi sudo.
Chris S
6
Sepenuhnya boleh untuk mengizinkan login root lebih dari ssh jika Anda membatasi mereka untuk otentikasi kunci, atau bahkan otentikasi kata sandi jika sesi dibatasi untuk alamat IP yang Anda kontrol. 'Tidak pernah' terlalu kuat.
EightBitTony
3
Saya berpendapat bahwa ada situasi di mana masuk akal untuk memiliki login root (mis. Filesystem korupsi pada partisi / home, menghalangi login sebagai pengguna standar). Satu hal yang dapat membantu adalah mengatur PermitRootLoginparameter sshd_config ke without-password. Ini hanya memungkinkan login root melalui ssh terjadi dengan kunci ssh. Otentikasi kata sandi tidak akan berfungsi.
ewwhite
Artikel ini mungkin bermanfaat: everythingsysadmin.com/2010/09/...
TomOnTime

Jawaban:

27

Di /etc/ssh/sshd_config, buat perubahan berikut. Cari baris yang mengatakan Port 22dan tambahkan baris serupa di bawahnya.

Port 22
Port 26

Simpan file dan restart daemon sshd.

Saya melakukan ini dalam situasi di mana saya telah mengaktifkan ssh untuk pengguna internal pada port 22, tetapi memerlukan konektivitas eksternal pada katakanlah, port 2222. Ini mengikat daemon ssh ke kedua nomor port.

putih
sumber
6
Dan bagaimana Anda membatasi login root ke port 22 sekarang?
faker
@faker Saya telah melihat penggunaan firewall / pembatasan jaringan untuk hanya menyediakan daftar putih akses ip ke port reguler 22.
ThorSummoner
10

Anda dapat menggunakan -fopsi untuk sshd untuk menentukan file konfigurasi alternatif. Dalam file konfigurasi Anda harus menggunakan

Port 26 

Arahan untuk mengubah port yang sedang didengarkan sshd.

set

PermitRootLogin no

untuk menonaktifkan login root

Anda kemudian dapat melakukan sesuatu seperti

/usr/sbin/sshd -f /etc/ssh/sshd_config_port_26

Anda mungkin ingin menyalin skrip startup sshd standar dan memodifikasinya sehingga Anda dapat memulai layanan port 26 saat startup.

Mengapa kau melakukan ini ?

Waktunya telah tiba
sumber
1
Alih-alih memiliki dua file konfigurasi keseluruhan, jika Anda ingin server pada dasarnya serupa, bukankah lebih mudah dan tepat untuk ditambahkan saja-o PermitRootLogin yes -p 26
JamesTheAwesomeDude
3

Dengan asumsi sshd akan berjalan dengan file konfigurasi spesifik command-line, maka Anda bisa membuat konfigurasi kedua yang berjalan pada port 26 dan menjalankan skrip start-up kedua yang merujuk ke port itu.

uSlackr
sumber