SSH adalah protokol aman yang digunakan sebagai sarana utama untuk menghubungkan ke server Linux dari jarak jauh. Ini menyediakan antarmuka berbasis teks dengan memunculkan shell jarak jauh. Setelah terhubung, semua perintah yang Anda ketik di terminal lokal Anda dikirim ke server jauh dan dijalankan di sana.
Otentikasi
Klien umumnya mengautentikasi menggunakan kata sandi atau kunci SSH. Kata sandi kurang aman karena itu kunci ssh selalu disarankan.
Untuk mengautentikasi menggunakan kunci SSH, pengguna harus memiliki pasangan kunci SSH di komputer lokal mereka. Di server jauh, kunci publik harus disalin ke file dalam direktori home pengguna di ~/.ssh/authorized_keys
. File ini berisi daftar kunci publik, satu per baris, yang diizinkan untuk masuk ke akun ini.
Membuat Pasangan Kunci SSH
Buat kombinasi tombol pub/pribadi
ssh-keygen
# With options (Larger Number of Bits 4096 and file name)
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_citizix
# Explicit comment
ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_citizix -C citizix_key
Perintah di atas akan menghasilkan pasangan kunci RSA SSH. Jika lokasi file tidak ditentukan, mereka akan ditempatkan di .ssh
direktori tersembunyi di dalam direktori home pengguna Anda. File default adalah:
~/.ssh/id_rsa
:Kunci pribadi. JANGAN SHARE FILE INI!~/.ssh/id_rsa.pub
:Kunci publik terkait. Ini dapat dibagikan secara bebas tanpa konsekuensi.
Menghapus atau Mengubah Frasa Sandi pada Kunci Pribadi
Jika Anda telah membuat frasa sandi untuk kunci pribadi Anda dan ingin mengubah atau menghapusnya, gunakan perintah berikut:
ssh-keygen -p
ssh-keygen -p -f ~/.ssh/id_citizix
Masukkan frasa sandi lama yang ingin Anda ubah. Anda kemudian akan diminta untuk memasukkan kata sandi baru, atau cukup tekan enter untuk mengosongkannya.
Periksa Sidik Jari Kunci SSH
Setiap pasangan kunci SSH berbagi "sidik jari" kriptografik tunggal yang dapat digunakan untuk mengidentifikasi kunci secara unik. Untuk mengetahui sidik jari kunci SSH, ketik:
ssh-keygen -l
ssh-keygen -l -f ~/.ssh/id_citizix
Menyalin Kunci SSH Publik Anda ke Server
Menyalin kunci publik ke server jauh akan memungkinkan login tanpa kata sandi:
# This will prompt for a password
ssh-copy-id [email protected]_host
Setelah mengetikkan kata sandi, konten kunci ~/.ssh/id_rsa.pub Anda akan ditambahkan ke akhir file ~/.ssh/authorized_keys akun pengguna. Sekarang Anda dapat masuk tanpa sandi:ssh [email protected]_host
Menyalin Kunci SSH Publik Anda ke Server Tanpa SSH-Copy-ID
Jika Anda tidak memiliki utilitas ssh-copy-id yang tersedia, tetapi masih memiliki akses SSH berbasis kata sandi ke server jauh, Anda dapat menyalin konten kunci publik Anda dengan cara yang berbeda.
-
Salin konten ke bagian bawah
~/.ssh/authorized_keys
server jarak jauh berkas. -
Anda dapat menampilkan konten kunci dan menyalurkannya ke perintah ssh. Tambahkan ke
~/.ssh/authorized_keys
berkas.cat ~/.ssh/id_rsa.pub | ssh [email protected]_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Peretasan Lainnya
Hasilkan kunci ssh publik dari kunci pribadi:
ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub
Menjalankan Satu Perintah di Server Jarak Jauh
ssh [email protected]_host command_to_run
Masuk ke Server dengan Port Berbeda
ssh -p port_num [email protected]_host
Menggunakan file konfigurasi:
# File ~/.ssh/config
Host remote_alias
HostName remote_host
Port port_num
Menambahkan Kunci SSH Anda ke Agen SSH untuk Menghindari Mengetik Frasa Sandi
Jika Anda memiliki frasa sandi di kunci SSH pribadi, Anda akan diminta untuk memasukkan frasa sandi setiap kali Anda menggunakannya untuk terhubung ke host jarak jauh.
Untuk menghindari harus berulang kali melakukan ini, Anda dapat menjalankan agen SSH. Utilitas kecil ini menyimpan kunci pribadi Anda setelah Anda memasukkan kata sandi untuk pertama kalinya. Ini akan tersedia selama sesi terminal Anda, memungkinkan Anda untuk terhubung di masa mendatang tanpa memasukkan ulang frasa sandi.
Untuk memulai Agen SSH, ketik berikut ini ke dalam sesi terminal lokal Anda:
eval $(ssh-agent)
Sekarang tambahkan kunci pribadi Anda ke agen, sehingga dapat mengelola kunci Anda:
ssh-add
ssh-add -f ~/.ssh/id_citizix
Anda harus memasukkan frasa sandi Anda (jika ada yang disetel). Setelah itu, file identitas Anda ditambahkan ke agen, memungkinkan Anda menggunakan kunci Anda untuk masuk tanpa harus memasukkan kembali frasa sandi.
Meneruskan Kredensial SSH Anda untuk Digunakan di Server
Jika Anda ingin dapat terhubung tanpa kata sandi ke satu server dari dalam server lain, Anda harus meneruskan informasi kunci SSH Anda. Ini akan memungkinkan Anda untuk mengautentikasi ke server lain melalui server yang terhubung dengan Anda, menggunakan kredensial di komputer lokal Anda.
Anda harus memulai agen SSH Anda dan kunci SSH Anda ditambahkan ke agen. Kemudian sambungkan ke server pertama dengan opsi -A
untuk meneruskan kredensial Anda ke server untuk sesi ini
ssh -A [email protected]_host