GNU/Linux >> Belajar Linux >  >> Linux

SSH – Menghasilkan dan Bekerja dengan kunci ssh

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.

  1. Salin konten ke bagian bawah ~/.ssh/authorized_keys server jarak jauh berkas.

  2. 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

Linux
  1. Cara menggunakan kunci SSH dengan Plesk

  2. Ssh – Perbedaan Antara Kunci Openssh dan Kunci Putty?

  3. Memulai SSH di Linux

  1. Cara Mengatur Kunci SSH

  2. Bagaimana menghubungkan ke server ssh dengan plink dan cmd dan kunci publik

  3. Cara Mengatur Kunci SSH di Ubuntu 18.04

  1. Cara Membuat Pasangan Kunci SSH (dengan Contoh)

  2. kunci ssh ssh-agent bash dan ssh-add

  3. Bagaimana cara mentransfer kunci SSH saya ke komputer lain?