Manfaatkan SSH key untuk akses server lebih aman
Namanya login ke server pasti identik dengan mengisikan username beserta passwordnya, tapi ternyata ada cara yang lebih amandengan SSH key dan bagusnya kita tidak perlu mengetikkan apapun untuk masuk ke server. Tidak hanya itu, setiap usaha login menggunakan kata sandi akan langsung ditolak, jadi sekaligus mengurangi beban kerja server untuk mengecek apakah usaha tersebut valid atau tidak. Tertarik? 😀
Disini saya akan membuat tutorialnya dengan asumsi menggunakan Windows. Program yang akan kita manfaatkan adalah PuTTYgen dan PuTTY atau KiTTY, jadi silahkan download dulu sebelum mengikuti langkah – langkah berikut. Atau diunduh pas butuh juga tidak masalah, sama saja kok. 🙂
Daftar Isi
Membuat SSH Key di Windows
Langsung saja jalankan program PuTTYgen dan kemudian:
- Pilih SSH-2 RSA pada Type of key to generate.
- Kemudian isikan Number of bits in a generated key dengan nilai 2048 atau 4096. Ini menentukan seberapa kuat keamanan kuncinya agar tidak mudah dibobol menggunakan metode brute force.
- Akhirnya klik saja Generate
.
- Satu pasang public key dan private key akan diciptakan.
- Key comment untuk mengisikan teks, terserah sebenarnya tapi biasanya saya isikan identifikasi ini ditujukan untuk apa.
- Key passphrase tidak wajib diisi, fungsinya setiap kali akan menggunakan key tersebut akan diminta password.
- Klik Save public key, ini yang akan ditambahkan ke server.
- Juga klik Save private key, yang ini kita gunakan di komputer kita untuk login. Ekstensinya adalah .ppk. Jangan sampai hilang, kalau sudah terlanjur mematikan login SSH menggunakan username dan keynya tidak ada maka tidak bisa masuk kedalam server.
Jangan ditutup aplikasinya karena masih kita butuhkan.
Simpan SSH key ke server
Lanjutkan ke tahap berikutnya yaitu menambahkan public key tadi:
- Login seperti biasa lewat SSH ke server.
- Kemudian edit profil SSH key:
nano ~/.ssh/authorized_keys
- Nah… kemudian pada PuTTYgen tadi isikan teks dari kotak Public key for pasting into OpenSSH authorized_keys file. Copy-paste maksud saya.
- Dilanjutkan dengan mengatur hak akses direktori dan file profil SSH, penting soalnya:
chmod 0700 ~/.ssh chmod 0644 ~/.ssh/authorized_keys
- Selesai
Konfigurasikan agar PuTTY/KiTTY menggunakan SSH key untuk login
- Akhirnya kita buka program PuTTY/KiTTY kembali.
- Buka Connection > SSH > Auth.
- Isikan lokasi file .ppk yang dibuat oleh PuTTYgen sebelumnya pada kotak Private key file for authentication.
- Kembali ke bagian Session, isikan profil SSH dari server yang akan digunakan seperti biasanya.
- Klik Save.
- Kemudian silahkan buka koneksi dengan menekan Open.
Seharusnya anda tidak akan diminta mengisikan kata sandi.
Mematikan login SSH menggunakan username dan password
Harap jangan lakukan perintah berikut kalau login menggunakan SSH key diatas belum berhasil, bisa permanen gagal masuk ke server. Sudah yakin dan pasti bisa? Lanjutkan dengan menonaktifkan fitur login SSH memakai username dan password:
nano /etc/ssh/sshd_config
Cari dan ubah opsi berikut:
PasswordAuthentication no
UsePAM no
Jangan diketikkan manual karena sudah ada opsi – opsinya, tinggal mengubah yes menjadi no atau menghilangkan simbol komentar (#
) dalam filenya.
Akhirnya silahkan restart layanan ssh:
service ssh reload
Yak, selesai sudah cara menggunakan SSH key untuk login ke server. Amankan private key anda juga, backup dan jangan sampai hilang.
Semoga bermanfaat. 🙂
mas chandra, saya nonaktifkan akses root dan buat user baru yg mana setiap perintah yg memerlukan akses root harus dengan sudo su,,nah biasanya kalau sudah menjalankan perintah sudo su nanti akan diminta password root, tapi sebelumnya seperti yg mas jelaskan diatas saya nonaktifkan PasswordAuthentication no,,apa dengan menonaktifkan PasswordAuthentication no tidak diminta lagi password jadi langsung akses root setelah sudo su?
Oh lain mbak, itu hanya mematikan akses login ssh user menggunakan sistem username dan password. Sedangkan untuk sudo itu memanfaatkan sistem login Linuxnya sendiri, bukan ssh. 🙂
Kalau khawatir, jangan matikan dulu akses password ssh dan login menggunakan user biasa kemudian lakukan sudo.
mas saya pake ini, setelah itu gak bisa masuk ke root pake filezilla/xftp 🙂
kanapa ya? suwun
ok dah bisa 🙂 (saya hapus
PasswordAuthentication no UsePAM no
dan ganti passwd root) gak th yg bener yg mana.suwun
Karena setting yang pertama mas, jadi login SSH tidak menggunakan password sistemnya.
Di FileZilla/Xftp sudah ditambahkan SSH keynya mas?
error mas..
failed to import user key cannot load the user key
(pake xftp)bisa login jika sy disable
PasswordAuthentication
danUsePAM
zzzz
Loh memang seperti itu mas, dimatikan mode login passwordnya. Atau saya salah nangkap masalahnya ya? 🙂
owalaaah… ooo dimatikan toh.. brarti gak bisa diakses ftp ya..
suwun
Sebentar… FTP dan SFTP itu hal berbeda mas. FTP itu harus ada FTP servernya seperti vsFTPd atau ProFTPD. Kalau SFTP memang nama bisa menyesatkan tapi aslinya ini protokol transfer file pakai SSH.
cara penggunaan untuk diubuntu apakah sama juga mas?
Betul mas, asalkan masih pakai OpenSSH (yang memang sering jadi default distro Linux) maka bisa diikuti tutorialnya.
waktu generate key, type of key to generate nya tidak ada pilihan SSH2 RSA, kenapa ya ?
Mas pakai PuTTY? Saya pakai KiTTY soalnya, mungkin bisa dicoba saja?
Kalau login via username dan password nya dimatikan apakah masih bisa login lewat console hosting misalnya console server VULTR?
Setahu saya bisa mas. Bisa dikatakan akses daruratnya kalau pakai cara normal tidak bisa terhubung ke servernya.
kalau debian 8 perintahnya beda ya mas
Sama mas.
Server refused our key
tolong mass.ssss…..debian 8
lupa masukin yg ini:
Masih bermasalah mas? Pakai user & password apa bisa masuk?
Mas Chandra, yg dipaste ke file authorized_keys itu ada berapa macam key sih? hanya yg “public key for pasting into Openssh authorized_keys file:” saja kan ya?
kok saat saya test login lagi masih ditanya password ya?
sudah bisa mas.. hehe.. terima kasih ya..
Bang, cara memindahkan private key di Ubuntu ke komputer lain gimana ya? Supaya bisa login ke server menggunakan komputer lain. Soalnya mau instal ulang komputer.
Dicopy bisa mas.
Akses direktori
~/.ssh
, isinya adalah private key dan public key terdaftar disana.