Bagaimana cara menambahkan kunci RSA ke file authorized_keys?

90

Saya telah membuat kunci publik RSA dan saya ingin menambahkannya ke authorized_keysfile, tetapi tidak ada file seperti itu di mesin Ubuntu 11.10 saya.

Bagaimana cara menambahkan kunci ke authorized_keys?

Raji AC
sumber

Jawaban:

105

Pastikan saat menjalankan solusi Michael Krelin Anda melakukan hal berikut

cat <your_public_key_file> >> ~/.ssh/authorized_keys

Perhatikan bahwa double >tanpa double >isi dari authorized_keys akan ditulis berlebihan (nuked!) Dan itu mungkin tidak diinginkan

donden1
sumber
Anda perlu memasukkan cara memasukkan informasi kunci publik dengan benar, hanya menyalin dan menempel tidak akan berhasil. Misalnya:
einarc
4
Bisakah Anda menjelaskan mengapa menyalin / menempel tidak berfungsi? Saya sangat ingin tahu.
mcsilvio
50
mkdir -p ~/.ssh/

Untuk menimpa kunci_otorisasi

cat <your_key >~/.ssh/authorized_keys

Untuk menambahkan ke akhir official_keys

cat <your_key >>~/.ssh/authorized_keys
Michael Krelin - peretas
sumber
Saya telah menghasilkan kunci di sisi klien dan menyalin kunci itu ke mesin server, tetapi menggunakan perintah ssh 192.168.2.7 itu tidak memungkinkan masuk.
Raji AC
Tidak mengizinkan login mengatakan apa?
Michael Krelin - peretas
ketika menjalankan perintah ini ia meminta kata sandi server. saya ingin login tanpa kata sandi
Raji AC
Apakah id (bagian pub) ada di ~ / .ssh / authorized_keys pada remote? Apakah id (bagian non pub) digunakan oleh ssh saat mencoba masuk? Anda dapat mencoba menentukannya secara eksplisit dengan -i. Selain itu, Anda dapat mencoba ssh -vdan Anda dapat memeriksa izin kunci_otorisasi Anda di remote. Dan periksa log di sana.
Michael Krelin - peretas
Bisakah kita memeriksa apakah kunci sudah ditambahkan? Seperti yang dilakukan oleh ssh-copy-id untuk sistem jarak jauh
Dmitriusan
32

Saya tahu saya membalas terlambat tetapi untuk siapa pun yang membutuhkan ini, jalankan perintah berikut dari mesin lokal Anda

cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

ini bekerja dengan baik. Yang perlu Anda lakukan hanyalah mengganti

[email protected]

dengan pengguna Anda sendiri untuk host tersebut

Faisal Sarfraz
sumber
31

Sudah ada perintah di ssh suite untuk melakukan ini secara otomatis untuk Anda. Yaitu masuk ke host jarak jauh dan tambahkan kunci publik ke file author_keys komputer tersebut.

ssh-copy-id -i /path/to/key/file [email protected]

Jika kunci yang Anda instal adalah ~/.ssh/id_rsaAnda bahkan dapat menjatuhkan -ibendera sepenuhnya.

Jauh lebih baik daripada melakukannya secara manual!

tkarls
sumber
2
>ssh user@serverip -p portnumber 
>sudo bash (if user does not have bash shell else skip this line)
>cd /home/user/.ssh
>echo ssh_rsa...this is the key >> authorized_keys
i_tanova
sumber