Cara Menyiapkan Kunci SSH di Debian-based GNU/Linux
OpenSSH merupakan alat konektivitas utama untuk login jarak jauh dengan protokol SSH (Secure Shell). Dengan cara mengenkripsi semua lalu lintas untuk menghilangkan penyadapan, pembajakan koneksi dan serangan lainnya. Selain itu, OpenSSH menyediakan sejumlah besar kemampuan tunneling yang aman, beberapa metode otentikasi, dan opsi konfigurasi yang canggih[1]. SSH berjalan pada layer aplikasi di model jaringan TCP/IP.
OpenSSH menyediakan beragam alat yang sangat membantu kita untuk membuat kunci autentikasi, seperti yang akan diulas di sini, ssh-keygen dan ssh-copy-id.
SSH Keygen berguna untuk membuat pasangan kunci untuk autentikasi, kata "pasangan" mengartikan perintah ssh-keygen akan membuat dua kunci sekaligus, yang mana satu kunci bersifat pribadi (kunci ini harus anda simpan baik-baik, jangan sampai jatuh ke tangan orang lain) satu kunci lainnya bersifat publik (kunci ini dapat anda bagikan ke kolega anda untuk keperluan tertentu, misalnya manajemen VPS atau remote server).
SSH Copy Id berguna untuk menyalin kunci publik dan autentikasinya dengan kunci pribadi ke remote server yang di tuju, format penggunaan perintah ini seperti:
Nah, demikian teori seputar OpenSSH dan beberapa layanannya. Sekarang mari kita coba cara menyiapkan pasangan kunci SSH di Debian-based GNU/Linux.
Implementasi pada tutorial ini saya membutuhkan dua mesin, satu mesin sebagai client (kita akan membuat pasangan kunci tersebut di sini) menggunakan Ubuntu MATE 18.04, satu mesin lagi sebagai server (kita akan melakukan pengujian autentikasinya di sini) menggunakan Ubuntu Server 18.04 yang terinstal di VirtualBox. Untuk urusan koneksi internet, saya memanfaatkan penambatan dari hape. Baiklah, mari kita coba bersama, dimulai dari:
Kita memerlukan paket OpenSSH Server dan OpenSSH Client, jika anda sudah menginstalnya, anda dapat melewati langkah ini, namun jika anda belum menginstalnya, lakukan penginstalan peket OpenSSH Server dengan perintah berikut:
Jika sudah terpasang dengan baik, mari kita lanjutkan ke langkah berikutnya.
Dibagian ini, kita akan membuat dua buah kunci, privat dan publik, untuk itu jalankan perintah berikut:
Setelah perintah tersebut dijalankan, sistem akan bertanya kepada anda "Enter file in which to save the key (/home/user/.ssh/id_rsa):" pada pertanyaan ini klik saja Enter. Jika anda baru pertama kali membatnya, sistem akan membuat direktori .ssh.
Pertanyaan selanjutnya sistem menawarkan apakah anda ingin memasukkan passphrase (semacam password) untuk melindungi kunci anda. Cukup tekan enter jika anda tidak menginginkannya, namun alangkah lebih baik jika anda mengisinya. Jika anda mengisinya, sistem akan meminta anda untuk mengisi dengan passphrase yang sama.
Sampai langkah ini, anda telah memiliki kunci pribadi yang disimpan di
Ada dua cara yang dapat anda pilih untuk menyalin kunci publik anda ke server tertentu, gunakan ssh-copy-id atau dengan manual copy.
Kegunaan perintah
Sampai pada langkah ini, kita telah mengcopykan kunci publik kita ke server, kunci publik tersebut tersimpan di berkas
Pada bagian ini kita harus menyalin kunci publik milik kita di komputer client, gunakan perintah berikut:
Salin semua kunci publik anda (lihat bagian gambar yang saya block).
Sekarang, beralihlah ke komputer server anda, pastikan anda login bukan sebagai root, dan pastikan anda berada di
Buat direktori baru bernama
Buat berkas baru dengan nama
Tempelkan kunci publik yang sudah anda salin tadi. lalu simpan. Rubah hak aksesnya dengan perintah berikut:
Sampai disini anda sudah mengimport kunci publik anda ke server.
Sekarang kita dapat melakukan remote ke server dengan perintah berikut dari komputer client:
Jika saat membuat pasangan kunci tadi anda mengisikan passphrase anda dapat memasukkannya saat ini.
Kini, pengguna biasa sudah dapat melakukan login dengan memanfaatkan kunci SSH, kita dapat meningkatkan keamanan server dengan menonaktifkan otentikasi sandi bawaan. Hasilnya hanya orang-orang yang telah memiliki kunci SSH saja yang dapat masuk ke server.
Buka konfigurasi SSH Daemon dengan perintah berikut:
Selanjutnya, sesuaikan beberapa konfigurasi berikut ini dan hapus tanda pagar di depannya.
Simpan hasil konfigurasi, lalu muat ulang layanan sshd.
Layanan SSH membantu anda untuk "lebih" mengamankan jalur konektivitas antara anda dan server anda. Langkah-langkah di atas lebih sering diterapkan saat kita memiliki VPS dengan memanfaatkan IP publik. Dengan memanfaatkan layanan ini, anda lebih terlindungi dari beberaa kemungkinan penyalah gunaan yang kerap terjadi.
[1] https://www.openssh.com/
https://www.codepolitan.com/yang-perlu-dilakukan-setelah-memasang-server-ubuntu-1604-59e632bf00c74
OpenSSH menyediakan beragam alat yang sangat membantu kita untuk membuat kunci autentikasi, seperti yang akan diulas di sini, ssh-keygen dan ssh-copy-id.
SSH Keygen berguna untuk membuat pasangan kunci untuk autentikasi, kata "pasangan" mengartikan perintah ssh-keygen akan membuat dua kunci sekaligus, yang mana satu kunci bersifat pribadi (kunci ini harus anda simpan baik-baik, jangan sampai jatuh ke tangan orang lain) satu kunci lainnya bersifat publik (kunci ini dapat anda bagikan ke kolega anda untuk keperluan tertentu, misalnya manajemen VPS atau remote server).
SSH Copy Id berguna untuk menyalin kunci publik dan autentikasinya dengan kunci pribadi ke remote server yang di tuju, format penggunaan perintah ini seperti:
ssh-copy-id username@ip_remote_server
Nah, demikian teori seputar OpenSSH dan beberapa layanannya. Sekarang mari kita coba cara menyiapkan pasangan kunci SSH di Debian-based GNU/Linux.
Implementasi pada tutorial ini saya membutuhkan dua mesin, satu mesin sebagai client (kita akan membuat pasangan kunci tersebut di sini) menggunakan Ubuntu MATE 18.04, satu mesin lagi sebagai server (kita akan melakukan pengujian autentikasinya di sini) menggunakan Ubuntu Server 18.04 yang terinstal di VirtualBox. Untuk urusan koneksi internet, saya memanfaatkan penambatan dari hape. Baiklah, mari kita coba bersama, dimulai dari:
Instal Paket Beserta Dependensinya
Kita memerlukan paket OpenSSH Server dan OpenSSH Client, jika anda sudah menginstalnya, anda dapat melewati langkah ini, namun jika anda belum menginstalnya, lakukan penginstalan peket OpenSSH Server dengan perintah berikut:
sudo apt install openssh-server openssh-client
Jika sudah terpasang dengan baik, mari kita lanjutkan ke langkah berikutnya.
Membuat Pasangan Kunci
Dibagian ini, kita akan membuat dua buah kunci, privat dan publik, untuk itu jalankan perintah berikut:
ssh-keygen
Setelah perintah tersebut dijalankan, sistem akan bertanya kepada anda "Enter file in which to save the key (/home/user/.ssh/id_rsa):" pada pertanyaan ini klik saja Enter. Jika anda baru pertama kali membatnya, sistem akan membuat direktori .ssh.
Pertanyaan selanjutnya sistem menawarkan apakah anda ingin memasukkan passphrase (semacam password) untuk melindungi kunci anda. Cukup tekan enter jika anda tidak menginginkannya, namun alangkah lebih baik jika anda mengisinya. Jika anda mengisinya, sistem akan meminta anda untuk mengisi dengan passphrase yang sama.
Sampai langkah ini, anda telah memiliki kunci pribadi yang disimpan di
/home/user/.ssh/id_rsa
dan kunci publik yang disimpan di /home/user/.ssh/id_rsa.pub
.Ingat! jangan pernah membagikan kunci pribadi anda ke orang lain yang tidak seharusnya memiliki akses, namun anda dapat membagikan kunci publik anda kepada siapapun.
Salin Kunci Publik Anda ke Server
Ada dua cara yang dapat anda pilih untuk menyalin kunci publik anda ke server tertentu, gunakan ssh-copy-id atau dengan manual copy.
opsi 1: Gunakan perintah ssh-copy-id
Kegunaan perintah
ssh-copy-id
sudah saya jelaskan di atas beserta format penggunaanya, di sini mari kita mencobanya. Yang anda perlukan adalah nama pengguna server dan IP-nya.ssh-copy-id chotibul@192.168.43.140
Sampai pada langkah ini, kita telah mengcopykan kunci publik kita ke server, kunci publik tersebut tersimpan di berkas
/home/user/.ssh/authorized_keys
.opsi 2: Pasang kunci publik secara manual
Pada bagian ini kita harus menyalin kunci publik milik kita di komputer client, gunakan perintah berikut:
cat ~/.ssh/id_rsa.pub
Salin semua kunci publik anda (lihat bagian gambar yang saya block).
Sekarang, beralihlah ke komputer server anda, pastikan anda login bukan sebagai root, dan pastikan anda berada di
/home/user/
, di konsole ditandai dengan pengguna@ubuntu:~$
.Buat direktori baru bernama
.ssh
dan atur hak aksesnya.mkdir -p ~/.ssh
chmod 700 ~/.ssh
Buat berkas baru dengan nama
authorized_keys
dengan perintah berikut:nano ~/.ssh/authorized_keys
Tempelkan kunci publik yang sudah anda salin tadi. lalu simpan. Rubah hak aksesnya dengan perintah berikut:
chmod 600 ~/.ssh/authorized_keys
Sampai disini anda sudah mengimport kunci publik anda ke server.
Tes Masuk Via SSH
Sekarang kita dapat melakukan remote ke server dengan perintah berikut dari komputer client:
ssh 'chotibul@192.168.43.140'
Jika saat membuat pasangan kunci tadi anda mengisikan passphrase anda dapat memasukkannya saat ini.
Nonaktifkan Otentikasi Kata Sandi
Kini, pengguna biasa sudah dapat melakukan login dengan memanfaatkan kunci SSH, kita dapat meningkatkan keamanan server dengan menonaktifkan otentikasi sandi bawaan. Hasilnya hanya orang-orang yang telah memiliki kunci SSH saja yang dapat masuk ke server.
Buka konfigurasi SSH Daemon dengan perintah berikut:
sudo nano /etc/ssh/ssd_config
Selanjutnya, sesuaikan beberapa konfigurasi berikut ini dan hapus tanda pagar di depannya.
PasswordAuthentication no
PubkeyAuthentication yes
ChallengeResponseAuthentication no
Simpan hasil konfigurasi, lalu muat ulang layanan sshd.
sudo systemctl restart sshd
Kesimpulan
Layanan SSH membantu anda untuk "lebih" mengamankan jalur konektivitas antara anda dan server anda. Langkah-langkah di atas lebih sering diterapkan saat kita memiliki VPS dengan memanfaatkan IP publik. Dengan memanfaatkan layanan ini, anda lebih terlindungi dari beberaa kemungkinan penyalah gunaan yang kerap terjadi.
Sumber
[1] https://www.openssh.com/
https://www.codepolitan.com/yang-perlu-dilakukan-setelah-memasang-server-ubuntu-1604-59e632bf00c74
Komentar
Posting Komentar
Silahkan tinggalkan komentar Anda di sini.