Bagaimana cara menonaktifkan login SSH jarak jauh sebagai root dari server?

54

Demi keamanan, perusahaan saya meminta saya untuk tidak mengizinkan siapa pun untuk dapat login ke server Ubuntu kami sebagai root dari jarak jauh melalui SSH. Kami masih menginginkan akun root tetap ada, kami hanya tidak ingin akun root itu dapat login dari jarak jauh. Bagaimana saya mencapai ini?

Terima kasih banyak sebelumnya atas waktu Anda.

Rob S.
sumber

Jawaban:

85

Saya berasumsi Anda bermaksud masuk melalui SSH? Masukkan baris berikut ke /etc/ssh/sshd_config:

PermitRootLogin no

Jika Anda ingin menolak pengguna tertentu untuk masuk, letakkan ini di file konfigurasi:

DenyUsers root

Ini mengambil pendekatan daftar hitam. Daftar putih umumnya lebih disukai. Jika perusahaan Anda perlu mengizinkan robdan adminpengguna masuk di server, gunakan petunjuk konfigurasi berikut:

AllowUsers rob admin

Setelah membuat perubahan file konfigurasi, restart layanan ssh menggunakan perintah:

sudo service ssh restart

Lihat juga halaman manual .

Lekensteyn
sumber
14
dan sudo service ssh restartmulai berlaku
Maxim Yefremov
Saya tidak melihat file sshd_config, saya melihat ini / etc / ssh / ssh_config.
Chinmaya B
@ChinmayaB Anda mungkin belum menginstal server OpenSSH. Cobasudo apt-get install openssh-server
Lekensteyn
14

Edit file /etc/ssh/sshd_config, cari

PermitRootLogin

dan atur ke no.

James Little
sumber
Jika Anda melakukan ini tanpa menambahkan pengguna dengan AllowUsers <username>apakah ini tidak berlaku tidak mengizinkan siapa pun masuk ke SSH?
JGlass
1
@JGlass Anda mungkin mengacaukan jawaban ini dengan yang di atas yang memiliki opsi tambahan - baris khusus ini hanya melarang root untuk masuk melalui SSH. Jika ada pengguna lain di sistem, semua hal lain dianggap sama, mereka masih bisa masuk melalui SSH kecuali Anda DenyUsersyang login juga.
armadadrive
@armadadrive - ahh, terima kasih atas koreksi dan penjelasannya!
JGlass
5

Konfigurasi default adalah agar akun root dikunci sehingga Anda tidak dapat masuk sebagai root dari jarak jauh. Anda tidak harus melakukan hal lain, kecuali jika Anda juga ingin memastikan bahwa Anda tidak dapat login sebagai root dari jarak jauh dengan menggunakan kunci RSA. Tentu saja, jika Anda tidak ingin melakukan itu, maka jangan membuat kunci root.

psusi
sumber
1
Itu bukan default untuk mesin Linode Ubuntu 14.04 saya. PermitRootLogindiatur ke yesdan tidak ada AllowUsersatau DenyUsersgaris konfigurasi. Kecuali saya kehilangan sesuatu, saya tidak berpikir aman untuk menganggapnya terkunci secara default
andrewtweber
@andrewtweber, login root tidak dilarang melalui ssh config, tetapi sistem dengan menetapkan kata sandi root ke nilai yang tidak valid yang tidak dapat Anda masukkan. Jadi, seperti yang saya katakan, Anda masih dapat ssh in sebagai root menggunakan kunci RSA, hanya saja tidak dengan kata sandi.
psusi
ok terima kasih, dapatkah Anda menambahkan penjelasan itu ke jawaban Anda dan kemudian saya akan dapat menghapus downvote saya
andrewtweber
@andrewtweber, ini sudah ada dalam jawaban saya ..
psusi
penjelasan Anda tentang bagaimana akun root dikunci tidak ada dalam jawaban Anda.
Ngomong