Secara tidak sengaja menghapus .ssh / official_keys, apakah ini kesalahan serius?

13

Saya baru mengatur SSH Keys di Ubuntu 16.04. Saya sedang mencari kunci resmi untuk menghapus bernama annetetapi saya pikir saya menghapus seluruh authorized_keysfile.

mike@mike-thinks:~$ rm /home/mike/.ssh/
authorized_keys  id_rsa           id_rsa.pub       known_hosts
mike@mike-thinks:~$ rm /home/mike/.ssh/authorized_keys 

Apakah ini kesalahan serius? Jika ya bagaimana cara meregenerasi mereka? Sementara itu saya melakukan itu:

mike@mike-thinks:~/.ssh$ touch ~/.ssh/authorized_keys
mike@mike-thinks:~/.ssh$ ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts
mike@mike-thinks:~/.ssh$ chmod 600 ~/.ssh/authorized_keys
IggyPass
sumber
Bagaimana rmperintah pertama berakhir dengan daftar isi direktori? Apakah itu kesalahan penyalinan yang seharusnya ls /home/mike/.ssh/?
Barmar
3
@Barmar, seperti di Bash ketika Anda menekan tab untuk melengkapi jalur secara otomatis, dan ada beberapa pilihan.
ilkkachu
2
Sekarang adalah waktu terbaik untuk memikirkan backup dan restore .
Pasang kembali Monica - M. Schröder

Jawaban:

21

The ~/.ssh/authorized_keysfile berisi daftar kunci publik. Ini memungkinkan semua orang yang memiliki kunci pribadi yang cocok dengan salah satu dari mereka untuk terhubung ke mesin ini dan mendapatkan akses jarak jauh di bawah akun pengguna ini (tilde ~di depan jalan menandakan bahwa file ini berada di bawah direktori home pengguna saat ini).

Pada server (mesin Anda ingin terhubung ke ):

Jika Anda menghapus file ini, tidak ada yang akan dapat mengotentikasi di bawah akun pengguna ini menggunakan kunci pribadi mereka. Otentikasi kata sandi masih akan berfungsi, kecuali jika dinonaktifkan.

Anda harus membuat ulang file dan menambahkan semua kunci publik yang ingin Anda berikan akses menggunakan metode otentikasi kunci publik lagi.

Pada klien (mesin Anda ingin menghubungkan dari , yaitu mesin lokal Anda):

Di sini Anda tidak perlu authorized_keysfile, karena Anda mungkin tidak ingin mengotorisasi kunci apa pun dan memberi mereka akses jarak jauh ke komputer lokal Anda. Itu harus kosong atau dihapus.

Pada klien, Anda hanya perlu file kunci pribadi yang diotorisasi di server (yaitu yang memiliki kunci publik terkait dalam authorized_keysfile di server), dan secara opsional file yang sesuai configdan known_hosts.

Komandan Byte
sumber
Terima kasih! Hmm, saya benar-benar baru dengan kunci publik, yang pribadi dan akses jarak jauh. Ini mesin pribadi saya. Saya pikir tidak ada yang memiliki akses jarak jauh ke mesin saya, saya pikir tidak.
IggyPass
Jika Anda tidak ingin ada orang yang memiliki akses ke mesin, cukup hapus file atau biarkan kosong dan Anda siap melakukannya.
pLumo
2
Oke, kalau begitu saya pikir Anda salah baca. Anda tidak perlu authorized_keysfile di mesin lokal, tetapi di server.
pLumo
3
ssh-keygenmenciptakan id_rsadan id_rsa.pub, bukan authorized_keys. Dan itu pasti.
pLumo
1
Perhatikan bahwa sangat umum untuk ingin melakukan ssh dari komputer lain ke komputer desktop Anda, dan menggunakan kunci untuk mengautentikasi dalam kasus itu lebih aman.
Karl Bielefeldt
3

Ya, Anda menghapus seluruh file. Untuk membuatnya kembali, semua pengguna harus menyalin kunci ssh mereka di server agein. Kamu bisa memakai

ssh-copy-id [email protected]

Jika Anda tidak ingin menghapus semua kunci, edit file dan hapus hanya baris waktu berikutnya.

trietend
sumber
Terima kasih, ini mesin pribadi saya. Saya belum yakin ini berfungsi sebagai server
IggyPass
2
Pada klien Anda, Anda memerlukan file kunci pribadi dan known_hosts dan pada server otor_keys dengan pubkeys
trietend