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


Saya baru untuk mengatur Kunci SSH pada Ubuntu 16.04. Saya mencari kunci resmi untuk menghapus nama anne tapi saya pikir saya menghapus keseluruhannya authorized_keys mengajukan.

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

13
2018-06-18 12:38


asal


Bagaimana yang pertama rm perintah berakhir daftar isi direktori? Apakah itu kesalahan penyalinan yang seharusnya ls /home/mike/.ssh/? - Barmar
@Barmar, seperti itulah tampilannya di Bash ketika Anda menekan tab untuk melengkapi jalur secara otomatis, dan ada beberapa pilihan. - ilkkachu
Sekarang adalah waktu terbaik untuk memikirkannya cadangan dan mengembalikan. - Martin Schröder


Jawaban:


Itu ~/.ssh/authorized_keys file berisi daftar kunci publik. Hal 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).

Di server (mesin yang ingin Anda hubungkan untuk):

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

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

Pada klien (mesin yang ingin Anda hubungkan dari, mis. mesin lokal Anda):

Di sini Anda tidak membutuhkan authorized_keys file, karena Anda mungkin tidak ingin mengotorisasi kunci apa pun dan memberi mereka akses jarak jauh ke komputer lokal Anda. Ini harus kosong atau dihapus.

Di klien, Anda hanya perlu file kunci pribadi yang diotorisasi di server (yaitu yang memiliki kunci publik yang sesuai di authorized_keys file di server), dan opsional yang sesuai config dan known_hosts mengajukan.


20
2018-06-18 12:53



Terima kasih! Hmm, saya benar-benar baru untuk 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 kira tidak. - ThePassenger
Jika Anda tidak ingin siapa pun memiliki akses ke mesin, cukup hapus file atau biarkan kosong dan Anda siap untuk pergi. - RoVo
Oke, kalau begitu saya pikir Anda salah membaca itu. Anda tidak membutuhkan authorized_keys file di komputer lokal, tetapi di server. - RoVo
ssh-keygen menciptakan id_rsa dan id_rsa.pubtidak authorized_keys. Dan itu pasti. - RoVo
Perhatikan bahwa itu sangat umum untuk ingin ssh dari komputer lain ke komputer desktop Anda, dan menggunakan kunci untuk mengotentikasi dalam hal ini lebih aman. - Karl Bielefeldt


Ya, Anda menghapus seluruh file. Untuk membuat ulang semua pengguna harus menyalin ssh-keys mereka di server agein. Kamu dapat memakai

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

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


2
2018-06-18 13:00



Terima kasih, ini mesin pribadi saya. Saya tidak yakin ini berfungsi sebagai server - ThePassenger
Pada klien Anda, Anda memerlukan private key-file dan known_hosts dan pada server authorized_keys dengan pubkeys - trietend