Saya malas di rumah dan menggunakan otentikasi kata sandi untuk komputer di rumah saya. Saya siap untuk pindah ke otentikasi berbasis kunci. Ada banyak opsi di web tentang cara melakukan ini, termasuk catting kemudian sshing key over, scping key over langsung, dll.
Saya mencari cara termudah dan disarankan untuk menyalin kunci, mudah-mudahan ada pembungkus yang nyaman di suatu tempat dalam paket ssh Ubuntu?
Saya sudah mengetahui cara mematikan kata sandi login .
Jawaban:
The
ssh-copy-id
perintah (dalam openssh-client paket dan terinstal secara default) tidak tepat ini:menyalin kunci publik dari identitas default 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 swasta) di Anda
~/.ssh
direktori, biasanya bernamaidentity
,id_rsa
,id_dsa
,id_ecdsa
atauid_ed25519
(dan sama dengan.pub
), tergantung pada jenis kunci. Jika Anda tidak membuat lebih dari satu kunci ssh, Anda tidak perlu khawatir menentukan identitas, ssh-copy-id hanya akan mengambilnya secara otomatis.Jika Anda tidak memiliki identitas, Anda dapat membuatnya dengan alat ini
ssh-keygen
.Selain itu, jika server menggunakan port yang berbeda dari yang default (
22
) Anda harus menggunakan tanda kutip dengan cara ini ( sumber ):sumber
ssh-copy-id "user@host -p 6842"
brew install ssh-copy-id
lalu jalankan perintah.Saya suka jawaban dari Marcel. Saya tidak tahu perintah ini. Saya selalu menggunakan apa yang saya temukan di situs web Oracle :
Saya pikir masih mempostingnya di sini, karena ini adalah ilustrasi yang bagus tentang apa yang dapat dicapai dalam kode shell dengan kekuatan
ssh
. Tetapi menggunakan itussh-copy-id
secara pasti 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 mengatur izin seminimal mungkin (pada dasarnya baca-tulis hanya untuk pemilik). Ini adalah perintah yang lebih maju:sumber
.ssh
tidak ada di sisi jarak jauh.cat
perlu - pengalihan input normal sudah cukup, misalnya< ~/.ssh/id_rsa.pub | ssh ...
Metode grafis
sumber
seahorse
.Di Ubuntu, Anda dapat mengambil kunci dari Launchpad:
Detail :
Tempel konten file kunci publik Anda di bidang itu (termasuk komentar). Kunci seperti itu terlihat seperti:
Di sini,
ssh-rsa
menunjukkan bahwa kuncinya adalah kunci RSA,AAAAB3Nza .... UyDOFDqJp
adalah kunci yang sebenarnya danlekensteyn
merupakan komentar.Paket
ssh-import-id
perlu diinstal pada mesin yang perlu diakses dari jarak jauh. Paket ini diinstal bersama denganopenssh-server
paket karena ini adalah paket yang disarankan untukopenssh-server
. Setelah memastikan bahwassh-import-id
telah diinstal pada mesin klien, jalankan: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:
The
echo
perintah yang dibutuhkan untuk mendapatkan baris tambahan setelah baris dengan kunci SSH.sumber
untuk port khusus
-saya alihkan default ke ~ / .ssh / id_rsa.pub, jika Anda menginginkan kunci lain, letakkan path dari kunci tersebut setelah -i
PERINGATAN: Jika Anda tidak menulis -i itu akan menyalin semua kunci Anda yang ditemukan di ~ / .ssh
sumber
ssh-copy-id
melakukan hal itu. Saya tidak yakin mengapa beberapa jawaban lain di sini menambahkan informasi yang tidak akurat. Bantuan menunjukkan yang berikut:Saya baru saja mencoba yang berikut ini pada klien Ubuntu 18.04 dengan server CentOS 7.6 dan itu bekerja seperti pesona. Contoh ini menunjukkan menggunakan porta kustom
2222
, dan menentukan kunci publik di~/.ssh/path-to-rsa.pub
Sebelum menjalankan perintah, saya benar-benar menggunakan
-n
sakelar di akhir untuk melakukan lari kering yang mengonfirmasi bahwa perintah akan berfungsi sebagaimana dimaksud. Setelah saya konfirmasi saya menjalankan perintah lagi seperti di atas, tanpa-n
saklar.sumber