Iklan

Cara Mengautentikasi Melalui SSH Dengan Kunci Alih-alih Kunci Kata SandiSSH adalah cara yang bagus untuk mendapatkan akses jarak jauh ke komputer Anda. Mirip dengan FTP, Anda dapat terhubung melalui SSH FTP Apa itu SSH & Apa Bedanya dengan FTP [Penjelasan Teknologi] Baca selengkapnya untuk mendapatkan akses aman ke server file dengan favorit Anda klien FTP Master Transfer File FTP Di Semua Situs Anda Dengan FileZillaSejumlah besar klien FTP lama mengalami cegukan dalam hal transfer file besar. Aplikasi mengalami batas waktu yang biasa Anda harapkan ketika komputer berada di sana selama 15 hingga... Baca selengkapnya , mengakses file jarak jauh dengan cepat, atau bahkan memasang disk jaringan ke komputer Anda. Tetapi ada lebih banyak SSH daripada akses file jarak jauh. Masuk melalui SSH di Terminal (atau menggunakan Dempul pada Windows) memberi Anda akses shell jarak jauh (bagaimanapun juga, SSH adalah kependekan dari Secure SHell). Begitulah cara saya mengelola server media saya dari jarak jauh.

Ketika kamu buka portnya Apa Itu Penerusan Port & Bagaimana Cara Membantu Saya? [MakeUseOf Menjelaskan]

instagram viewer
Apakah Anda sedikit menangis ketika seseorang memberi tahu Anda bahwa ada masalah penerusan porta dan itulah sebabnya aplikasi baru Anda yang mengkilap tidak akan berfungsi? Xbox Anda tidak mengizinkan Anda bermain game, unduhan torrent Anda menolak... Baca selengkapnya di router Anda (tepatnya port 22), Anda tidak hanya dapat mengakses server SSH Anda dari dalam jaringan lokal Anda, tetapi dari mana saja di dunia.

Namun, Anda tidak ingin mengambil risiko menggunakan kata sandi yang lemah untuk otentikasi. Jika ada yang mendapatkan akses ke komputer Anda melalui SSH, mereka mendapatkan akses shell lengkap. Untuk memperjelas, itu bukan sesuatu yang kita inginkan. Untungnya, sangat mudah untuk menyiapkan server SSH global Anda dengan cara yang sangat aman dengan menggunakan otentikasi berbasis kunci dan menonaktifkan otentikasi kata sandi di server Anda secara bersamaan.

Apakah ini untukku?

Sangat menggoda untuk menjadi lemah dengan keamanan pribadi. Jika Anda menggunakan server untuk tujuan pribadi, Anda mungkin berpikir bahwa orang tidak tahu tentang server Anda dan karenanya tidak akan mencoba meretasnya — keamanan melalui ketidakjelasan. Itu akan menjadi sangat asumsi yang salah. Karena (sebagian besar) lalu lintas SSH ditransmisikan pada port 22, penyerang secara rutin memeriksa visibilitas port 22 pada alamat IP acak, diikuti dengan serangan brute force. Ini adalah salah satu cara botnet dibuat untuk digunakan dalam serangan DDOS Apa itu Serangan DDoS? [MakeUseOf Menjelaskan]Istilah DDoS terus terdengar setiap kali aktivisme siber muncul secara massal. Serangan semacam ini menjadi berita utama internasional karena berbagai alasan. Masalah yang memicu serangan DDoS tersebut sering kali kontroversial atau sangat... Baca selengkapnya .

Singkatnya: jika Anda menyiarkan server SSH Anda melalui internet (yaitu meneruskan port 22), maka ya, ini untuk Anda.

Ide Login SSH Berbasis Kunci

Login SSH berbasis kunci bergantung pada ide kriptografi kunci publik. Akan terlalu jauh bagi kami untuk menjelaskan seluk-beluknya, tetapi kami akan mencoba melukiskan gambaran sederhana tentang apa yang terjadi di balik layar.

Dalam proses di bawah ini, komputer klien Anda menghasilkan dua kunci: kunci publik dan kunci pribadi. Ide umumnya adalah Anda dapat mengenkripsi data dengan kunci publik, tetapi hanya mendekripsi dengan kunci pribadi. Kami akan menempatkan kunci publik di server dan memintanya untuk mengenkripsi semua komunikasi keluar dengannya. Ini memastikan bahwa hanya klien dengan kunci pribadi yang dapat mendekripsi dan membaca data.

1. Instal OpenSSH

Pertama, kita akan menyiapkan server SSH menggunakan OpenSSH. Jika Anda sudah menjalankan server SSH dan hanya ingin tahu cara mengatur otentikasi berbasis kunci, Anda dapat melewati langkah ini. Gunakan manajer paket favorit Anda untuk menginstal aplikasi server OpenSSH. Cara paling sederhana mungkin masih menjalankan apt-get perintah dari Terminal.

sudo apt-get install openssh-server

Masukkan kata sandi Anda, konfirmasi dan tunggu sebentar sampai selesai menginstal. Selamat, Anda sekarang memiliki server SSH. (Itu mudah!)

ubuntu-install-openssh

Anda dapat menggunakan aplikasi apa adanya, atau mengedit /etc/ssh/sshd_config untuk mengkonfigurasinya. Jalankan man sshd_config perintah di Terminal untuk mendapatkan informasi lebih lanjut. Sumber daya hebat lainnya untuk mempelajari lebih lanjut tentang OpenSSH adalah halaman bantuan Ubuntu yang relevan.

2. Hasilkan Kunci

Kami akan menghasilkan satu set kunci. Jalankan perintah berikut (diadaptasi dari BukaSSH/Kunci halaman Bantuan Ubuntu).

mkdir ~/.ssh
chmod 700 ~/.ssh
ssh-keygen -t rsa

Perintah pertama membuat direktori tersembunyi '.ssh' di folder rumah Anda, perintah kedua mengubah izin akses folder sementara perintah ketiga benar-benar menghasilkan satu set RSA kunci. Pertama-tama Anda akan dimintai lokasi untuk menyimpan kunci (biarkan kosong dan tekan enter untuk menyimpan di lokasi default) dan kedua untuk frasa sandi.

rsa-key-generasi-mac

Frasa sandi ini selanjutnya mengenkripsi kunci pribadi yang disimpan di komputer Anda, pada dasarnya memberi Anda lebih banyak waktu untuk mengamankan server SSH jika kunci pribadi Anda pernah dicuri. Pastikan Anda memilih frasa sandi yang dapat Anda ingat, karena Anda harus memasukkannya saat mencoba menggunakan kunci Anda.

3. Transfer Kunci Publik

Selanjutnya, Anda harus mentransfer kunci publik yang Anda buat pada langkah sebelumnya ke komputer server SSH. Jika mesin klien Anda juga menjalankan Linux, ini dapat dicapai dengan sangat mudah dengan menjalankan perintah di bawah ini (menggantikan dan untuk nama pengguna dan alamat IP di server SSH Anda).

ssh-copy-id @

Jika klien Anda tidak mendukung perintah ssh-copy-id, Anda dapat menggunakan perintah di bawah ini sebagai gantinya. Ini sedikit lebih berbelit-belit, tetapi pada dasarnya mencapai hasil yang sama.

cat ~/.ssh/id_rsa.pub | ssh @ "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys"

Anda akan diminta memasukkan kata sandi pengguna untuk server SSH. Jika perintah dijalankan tanpa kesalahan, kunci publik Anda akan disalin ke server.

4. Nonaktifkan Otentikasi Kata Sandi

Perhatikan bahwa sistem Anda masih tidak lebih aman daripada setelah langkah pertama. Meskipun setidaknya satu klien dikonfigurasi untuk menggunakan otentikasi berbasis kunci, ini masih menyisakan ruang bagi klien lain untuk terhubung dengan kata sandi. Untuk menyelesaikan, kami akan menonaktifkan otentikasi kata sandi sama sekali. Setelah langkah ini, hanya komputer yang telah melalui proses di atas dapat terhubung ke server SSH Anda.

Untuk menonaktifkan otentikasi kata sandi, edit /etc/ssh/sshd_config file di editor favorit Anda. Salah satu cara termudah untuk mengedit file terbatas, sekali lagi, menggunakan Terminal. (Saya tidak setuju dengan nano, tetapi Anda dapat menggunakan apa pun yang paling nyaman bagi Anda.)

sudo nano /etc/ssh/sshd_config

Sekitar 40 baris dari bagian bawah file, Anda akan menemukan

#PasswordAuthentication ya

Hapus tanda nomor (#) dan ubah pengaturan menjadi 'tidak', seperti di bawah ini.

PasswordAutentikasi no

File terakhir akan terlihat seperti ini:

sshd_config

Simpan file dengan menekan CTRL + X. Konfirmasikan hasil edit dan nama file, dan Anda hampir selesai. Cukup restart server SSH untuk menjalankannya dengan pengaturan baru ini.

sudo restart ssh

Anda juga akan melihat bahwa klien Anda akan berhenti meminta frasa sandi untuk mendekripsi kunci Anda jika otentikasi kata sandi dinonaktifkan di server. Sekarang setelah Anda memiliki server SSH yang aman, bagaimana Anda ingin menggunakannya? Sebagai server file yang aman, shell jarak jauh, atau untuk meneruskan layanan lain melalui SSH? Beri tahu kami di bagian komentar di bawah!

Kredit gambar: Shutterstock

Saya seorang penulis dan mahasiswa ilmu komputer dari Belgia. Anda selalu dapat membantu saya dengan ide artikel yang bagus, rekomendasi buku, atau ide resep.