Pertanyaan Cara termudah untuk menyalin kunci ssh ke komputer lain?


Saya malas di rumah dan menggunakan otentikasi kata sandi untuk mesin rumah saya. Saya siap untuk pindah ke otentikasi berbasis kunci. Ada banyak pilihan di web tentang cara melakukan ini, termasuk catting lalu sshing kunci selesai, scping key over secara langsung, dll.

Saya mencari cara termudah dan direkomendasikan untuk menyalin kunci, mudah-mudahan ada kemudahan pembungkus di suatu tempat di paket ssh Ubuntu?

Saya sudah sadar cara mematikan login kata sandi.


296
2017-09-27 20:24


asal


askubuntu.com/questions/307881/… - Vineet


Jawaban:


Itu ssh-copy-id perintah (dalam openssh-client paket dan terinstal secara default) melakukan hal ini:

ssh-copy-id user@hostname.example.com

salinan kunci publik dari identitas standar Anda (gunakan -i identity_file untuk identitas lain) ke host jarak jauh.

Identitas default adalah kunci ssh "standar" Anda. Ini terdiri dari dua file (kunci publik dan pribadi) di Anda ~/.ssh direktori, biasanya bernama identity, id_rsa atau id_dsa (dan sama dengan .pub), tergantung pada jenis kunci. Jika Anda tidak membuat lebih dari satu kunci ssh, Anda tidak perlu khawatir tentang menentukan identitas, ssh-copy-id hanya akan mengambilnya secara otomatis.

Jika Anda tidak memiliki identitas, Anda dapat menghasilkan satu dengan alat ssh-keygen.

Selain itu, jika server menggunakan port yang berbeda dari yang standar (22) Anda harus menggunakan tanda kutip dengan cara ini (sumber):

ssh-copy-id "user@hostname.example.com -p <port-number>"

408
2017-09-27 21:01



Apa identitas standarnya? - Oxwivi
@Oxwivi: Identitas default adalah kunci ssh "standar" Anda. Ini terdiri dari dua file (kunci publik dan pribadi) di Anda ~/.ssh direktori, biasanya bernama `` identitas, id_rsa` atau id_dsa (dan sama dengan .pub), tergantung pada jenis kunci. Jika Anda tidak membuat lebih dari satu kunci ssh, Anda tidak perlu khawatir tentang menentukan file, ssh-copy-id hanya akan mengambilnya secara otomatis. - Marcel Stimberg
untuk menggunakan port yang berbeda ini: ssh-copy-id "user@host -p 6842" - jibon57
Bagaimana jika server jauh yang Anda salin tidak mengizinkan perintah kata sandi dan pada dasarnya terkunci menyimpan untuk akses SSH? - Cyle
Di mac dapat Anda lakukan brew install ssh-copy-id lalu jalankan perintah. - Avishai


Saya suka jawaban dari Marcel. Saya tidak tahu perintah ini. Saya selalu menggunakan apa yang saya temukan di Situs web SUN:

cat ~/.ssh/id_rsa.pub | ssh <user>@<hostname> 'cat >> .ssh/authorized_keys && echo "Key copied"'

Saya berpikir untuk mempostingnya di sini, karena itu adalah ilustrasi yang baik tentang apa yang bisa dicapai kode shell dengan kekuatan ssh. Tetapi menggunakan ssh-copy-id adalah cara yang lebih aman untuk melakukannya dengan benar!

Perhatikan bahwa jika folder .ssh belum ada, perintah di atas akan gagal. Selain itu, mungkin lebih baik saat membuat file untuk menetapkan kemungkinan izin minimum (pada dasarnya baca-tulis untuk pemilik saja). Berikut ini adalah perintah yang lebih maju:

cat ~/.ssh/id_rsa.pub | ssh <user>@<hostname> 'umask 0077; mkdir -p .ssh; cat >> .ssh/authorized_keys && echo "Key copied"'

113
2017-10-11 22:26



Perintah yang tepat ini juga bekerja dari Mac juga - Mihai P.
Ini harus bekerja di bawah Unix dengan sebagian besar shell. Saya memperbarui pos dengan perintah yang diperbarui jika foldernya .ssh tidak ada di sisi remote. - Huygens
Itu cat tidak diperlukan - pengalihan input normal sudah cukup, mis. < ~/.ssh/id_rsa.pub | ssh ... - maxschlepzig
@Huygens Terima kasih. Lebih berguna untuk mengingat yang satu ini, karena Anda tidak perlu menginstal apa pun dan itu juga bisa baik untuk mengeksekusi perintah asing misalnya mengubah izin sisi server seperti yang Anda tunjukkan dalam contoh lanjutan Anda. - Jonathan Komar
Saya lebih suka cara ini karena memungkinkan Anda menggunakan ssh verbose yang membantu dalam mencari tahu mengapa hal-hal yang rusak. sshcopyid hanya membeku dan tidak pernah bekerja, ini berjalan sempurna. - Sirens


Metode grafis

  1. Buka Aplikasi ▸ Kata sandi dan kunci ▸ Kunci Pribadi Saya.
  2. Pilih kunci Anda dan kemudian klik Terpencil ▸ Konfigurasikan Kunci untuk Secure Shell.

Set Up Computer for SSH Connection


25
2017-09-27 20:32



Saya tidak memiliki "Kunci Sandi dan Enkripsi" di menu saya. - Jorge Castro
Rilis Ubuntu apa yang Anda gunakan? Di Ubuntu 10.04 LTS ini harus tersedia secara default. - ændrük
10.10, cukup tambahkan tag. Jawaban Marcel adalah apa yang saya cari, meskipun +1 untuk jawaban berorientasi desktop Anda! - Jorge Castro
Program ini seahorse. - Gilles
Saya pikir aplikasi ini ada di menu System-> Preferences pada 10.10 (tidak bisa memeriksanya sekarang, saya ada di 10.04) - Huygens


Di Ubuntu Anda dapat mengambil kunci Anda dari Launchpad:

ssh-import-id [launchpad account name]

Detail:

  1. Anda memerlukan akun Launchpad login atau buat akun
  2. Setelah masuk, klik tombol di sebelah Kunci SSH:
  3. Tempel konten file kunci publik Anda di bidang itu (termasuk komentar). Kunci semacam itu terlihat seperti:

    ssh-rsa AAAAB3Nza .... UyDOFDqJp lekensteyn
    

    Sini, ssh-rsa menunjukkan bahwa kuncinya adalah kunci RSA, AAAAB3Nza .... UyDOFDqJp adalah kunci sebenarnya dan lekensteyn adalah komentarnya.

  4. Simpan kunci dengan menekan Impor Kunci Publik
  5. Jika semuanya berjalan dengan baik, kunci Anda sekarang harus terdaftar di bawah Kunci SSH:

Paket ssh-import-id perlu diinstal pada mesin yang perlu diakses dari jarak jauh. Paket ini dipasang bersama dengan openssh-serverpaket seperti itu adalah paket yang direkomendasikan untuk openssh-server. Setelah memastikan itu ssh-import-id telah diinstal Pada mesin klien, jalankan:

ssh-import-id [launchpad account name]

Ini akan mengunduh kunci publik dari server Launchpad melalui HTTPS yang melindungi Anda dari serangan MITM.

Di Ubuntu Lucid dan sebelumnya, Anda dapat melakukan hal yang sama dengan:

wget https://launchpad.net/~[lp acount name]/+sshkeys -O - >> ~/.ssh/authorized_keys && echo >> ~/.ssh/authorized_keys

Itu echo Diperlukan perintah untuk mendapatkan tambahan baris baru setelah baris dengan kunci SSH.


18
2018-06-10 19:20





untuk port khusus

ssh-copy-id -i "user@hostname.example.com -p2222"

-i beralih default ke ~ / .ssh / id_rsa.pub, jika Anda ingin kunci lain, letakkan path kunci setelah -i

PERINGATAN: Jika Anda tidak menulis -i itu akan menyalin semua kunci Anda yang ditemukan di ~ / .ssh


12
2018-03-08 20:16



Anda yakin tentang itu PERINGATAN? "-i identity_file - Gunakan hanya kunci (s) yang terdapat di identity_file (daripada mencari identitas melalui ssh-add (1) atau di default_ID_file). Jika nama file tidak berakhiran .pub ini ditambahkan. Jika filename dihilangkan, default_ID_file digunakan. " - Yousha Aleayoub