Ketika Anda menciptakan server Ubuntu 20.04 yang baru untuk pertama kali, Anda harus melakukan beberapa langkah konfigurasi penting sebagai bagian dari persiapan dasar. Langkah-langkah ini akan meningkatkan keamanan dan penggunaan server Anda, serta memberikan Anda suatu fondasi yang kuat untuk berbagai tindakan berikutnya.
Untuk log masuk ke server Anda, Anda perlu mengetahui alamat IP publik server Anda. Anda juga membutuhkan kata sandi atau — jika Anda menginstal kunci SSH untuk autentikasi — kunci privat untuk akun pengguna root. Jika Anda belum log masuk ke server, Anda mungkin ingin mengikuti panduan kami tentang cara terhubung ke Droplet dengan SSH, yang membahas proses ini secara mendetail.
Jika Anda belum terhubung ke server Anda, log masuk sekarang sebagai pengguna root dengan menggunakan perintah berikut (ganti bagian perintah yang disorot dengan alamat IP publik server Anda):
- ssh root@your_server_ip
Terima peringatan tentang autentikasi hos jika peringatan itu muncul. Jika Anda menggunakan autentikasi kata sandi, berikan kata sandi root Anda untuk log masuk. Jika Anda menggunakan kunci SSH yang dilindungi frasa sandi, Anda mungkin diminta memasukkan frasa sandi saat kali pertama Anda menggunakan kunci pada setiap sesi. Jika ini bukan kali pertama Anda log masuk ke server dengan kata sandi, Anda juga dapat diminta mengubah kata sandi root.
Pengguna root adalah pengguna administratif dalam suatu lingkungan Linux yang memiliki privilese sangat luas. Karena privilese akun root telah ditingkatkan, Anda tidak disarankan untuk menggunakannya secara teratur. Hal ini dikarenakan salah satu kekuatan yang melekat pada akun root adalah kemampuan membuat perubahan yang sangat dekstruktif, sekalipun dilakukan secara tidak sengaja.
Langkah berikutnya adalah membuat akun pengguna baru dengan privilese yang lebih sedikit untuk penggunaan sehari-hari. Nantinya, kami akan mengajarkan cara mendapatkan privilese yang ditingkatkan hanya sewaktu Anda membutuhkannya.
Setelah log masuk sebagai root, kita siap untuk menambah akun pengguna baru. Nantinya, kita akan log masuk dengan akun baru ini alih-alih root.
Ini adalah contoh penciptaan pengguna baru yang bernama sammy, tetapi Anda harus menggantinya dengan nama pengguna yang Anda suka:
- adduser sammy
Anda akan diminta menjawab beberapa pertanyaan, mulai dari kata sandi akun.
Masukkan kata sandi yang kuat dan, secara opsional, isi informasi tambahan jika Anda mau. Ini tidak wajib diisi dan Anda dapat langsung menekan ENTER
pada bidang apa pun yang ingin dilewati.
Sekarang, kita punya akun pengguna baru dengan privilese akun reguler. Namun, kadang kala kita perlu melakukan tugas-tugas administratif.
Agar tidak perlu log keluar dari pengguna biasa dan log masuk kembali sebagai akun root, kita dapat membuat sesuatu yang disebut sebagai superpengguna atau privilese root untuk akun biasa kita. Ini akan membuat pengguna biasa kita menjalankan berbagai perintah yang mengandung privilese administratif dengan memasukkan kata sudo
sebelum setiap perintah.
Untuk menambahkan privilese ini kepada pengguna baru, kita perlu menambahkan pengguna ke grup sudo. Secara asali, pada Ubuntu 20.04, pengguna yang menjadi anggota grup sudo diperkenankan untuk menggunakan perintah sudo
.
Sebagai root, jalankan perintah ini untuk menambahkan pengguna baru ke grup sudo (ganti nama pengguna yang disorot dengan pengguna baru Anda):
- usermod -aG sudo sammy
Sekarang, saat log masuk sebagai pengguna reguler, Anda dapat mengetik sudo
sebelum perintah untuk melakukan tindakan dengan privilese superpengguna.
Server Ubuntu 20.04 dapat menggunakan firewall UFW untuk memastikan hanya koneksi ke layanan tertentu yang diizinkan. Kita dapat mengatur firewall dasar secara sangat mudah menggunakan aplikasi ini.
Catatan: Jika server Anda beroperasi di DigitalOcean, Anda dapat menggunakan DigitalOcean Cloud Firewalls alih-alih firewall UFW. Kami menyarankan menggunakan satu firewall saja untuk menghindari pertentangan aturan yang mungkin sulit diawakutu.
Aplikasi dapat mendaftarkan profilnya di UFW saat instalasi. Profil-profil ini memungkinkan UFW untuk mengelola aplikasi berdasarkan nama. OpenSSH, suatu layanan yang memungkinkan kita terhubung ke server kita sekarang, memiliki profil yang terdaftar dengan UFW.
Anda dapat melihatnya dengan mengetik:
- ufw app list
OutputAvailable applications:
OpenSSH
Kita harus memastikan firewall mengizinkan koneksi SSH sehingga kita dapat log masuk lagi di kesempatan selanjutnya. Kita dapat mengizinkan koneksi ini dengan mengetik:
- ufw allow OpenSSH
Setelah itu, kita dapat mengaktifkan firewall dengan mengetik:
- ufw enable
Ketik y
dan tekan ENTER
untuk melanjutkan. Anda dapat melihat bahwa koneksi SSH masih diizinkan dengan mengetik:
- ufw status
OutputStatus: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Jika Anda menginstal dan mengonfigurasi layanan tambahan, Anda akan perlu menyesuaikan pengaturan firewall untuk mengizinkan lalu lintas masuk, karena firewall masih memblokir semua koneksi kecuali untuk SSH. Anda dapat mempelajari beberapa operasi UFW yang umum dalam panduan UFW Essentials kami.
Karena kita telah memiliki pengguna reguler untuk penggunaan sehari-hari, kita perlu memastikan bahwa kita dapat melakukan SSH secara langsung ke akun tersebut.
Catatan: Sampai Anda sudah memastikan bahwa Anda bisa log masuk dan menggunakan sudo
dengan pengguna baru Anda, kami menyarankan untuk tetap log masuk sebagai root. Dengan begitu, jika ada masalah, Anda dapat memecahkan masalah dan membuat perubahan yang diperlukan sebagai root. Jika Anda menggunakan DigitalOcean Droplet dan mengalami masalah dengan koneksi SSH root, Anda dapat log masuk ke Droplet menggunakan DigitalOcean Console.
Proses untuk mengonfigurasi akses SSH bagi pengguna baru Anda tergantung apakah akun root server Anda menggunakan kata sandi atau kunci SSH untuk autentikasi.
Jika Anda log masuk ke akun root menggunakan kata sandi, maka autentikasi kata sandi akan diaktifkan untuk SSH. Anda dapat melakukan SSH ke akun pengguna baru Anda dengan membuka sesi terminal baru dan menggunakan SSH dengan nama pengguna baru Anda:
- ssh sammy@your_server_ip
Setelah memasukkan kata sandi pengguna reguler Anda, Anda akan log masuk. Ingat, jika Anda perlu menjalankan perintah dengan privilese administratif, ketik sudo
sebelumnya seperti ini:
- sudo command_to_run
Anda akan diminta memasukkan kata sandi pengguna reguler Anda saat menggunakan sudo
untuk pertama kalinya pada setiap sesi (dan selanjutya secara berkala).
Untuk meningkatkan keamanan server Anda, kami sangat menyarankan untuk mengaktifkan kunci SSH alih-alih menggunakan autentikasi kata sandi. Ikuti panduan kami tentang mengaktifkan kunci SSH pada Ubuntu 20.04 untuk mempelajari cara mengonfigurasi autentikasi berbasis kunci.
Jika Anda log masuk ke akun root Anda menggunakan kunci SSH, maka autentikasi kata sandi dinonaktifkan untuk SSH. Anda akan perlu menambahkan salinan dari kunci publik lokal pada berkas ~/.ssh/authorized_keys
pengguna baru agar bisa log masuk dengan sukses.
Karena kunci publik Anda sudah berada di dalam berkas ~/.ssh/authorized_keys
akun root pada server, kita dapat menyalin berkas itu dan struktur direktorinya ke akun pengguna baru pada sesi yang ada.
Cara termudah untuk menyalin berkas dengan kepemilikan dan izin yang benar yaitu dengan menggunakan perintah rsync
. Ini akan menyalin direktori .ssh
pengguna root, menyimpan izin, dan memodifikasi pemilik berkas, semua itu hanya dengan satu perintah. Pastikan untuk mengganti bagian perintah yang disorot di bawah ini agar sesuai dengan nama pengguna reguler Anda:
Catatan: Perintah rsync
memberikan perlakuan yang berbeda terhadap sumber dan tujuan yang diakhiri dengan tanda garis miring dibanding yang tidak diakhiri dengan tanda garis miring. Saat menggunakan rsync
di bawah, pastikan direktori sumber (~/.ssh
) tidak diakhiri dengan tanda garis miring (periksalah untuk memastikan Anda tidak menggunakan ~/.ssh/
).
Jika Anda secara tidak sengaja menambahkan tanda garis miring pada akhir perintah, rsync
akan menyalin *konten *dari direktori ~/.ssh
akun root ke direktori rumah pengguna sudo
alih-alih menyalin seluruh struktur direktori ~/.ssh
. Berkas akan berada di lokasi yang salah serta SSH tidak akan dapat menemukan dan menggunakannya.
- rsync --archive --chown=sammy:sammy ~/.ssh /home/sammy
Sekarang, buka sesi terminal baru pada mesin lokal Anda, dan gunakan SSH dengan nama pengguna baru Anda:
- ssh sammy@your_server_ip
Anda harus log masuk ke akun pengguna baru tanpa menggunakan kata sandi. Ingat, jika Anda perlu menjalankan perintah dengan privilese administratif, ketik sudo
di depan perintah seperti ini:
- sudo command_to_run
Anda akan diminta memasukkan kata sandi pengguna biasa saat menggunakan sudo
untuk pertama kalinya pada setiap sesi (dan selanjutnya secara berkala).
Di titik ini, Anda memiliki fondasi yang kuat untuk server Anda. Anda dapat menginstal perangkat lunak apa pun yang dibutuhkan di server Anda sekarang.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!