Bagaimana cara mencadangkan kunci ssh?

34

Saya berencana untuk melakukan instalasi baru ubuntu 11.10 di sistem saya. Sebelum itu saya telah menyiapkan otentikasi ssh berbasis kunci di mesin ini. Apakah mungkin untuk mengambil cadangan kunci ssh itu, sehingga saya dapat menggunakannya dalam instalasi baru saya. Atau saya harus mengatur otentikasi ssh berbasis tombol lagi? Jika saya dapat mengambil cadangan, file apa yang perlu saya salin? Adakah yang bisa menjelaskannya secara terinci? Terima kasih sebelumnya.

karthick87
sumber
1
Apakah Anda berbicara tentang server atau mesin klien?
enzotib
Saya berbicara tentang Mesin Server.
karthick87

Jawaban:

39

Hanya menanggapi SSH ... ya, Anda dapat menyimpan kunci Anda.

Saya tidak bisa memikirkan topik apa pun untuk menguraikan hal itu. Ini lurus ke depan: jika nama pengguna Anda karthick, maka kunci tersebut terletak di direktori tersembunyi di sini:

/home/karthick/.ssh

atau

~/.ssh

The id_rsa.pubfile berisi kunci publik digunakan untuk otentikasi. Tetapi ada file lain untuk disimpan - semuanya, sungguh , seperti known_hosts misalnya . The PALING PENTING yaitu id_rsa(perhatikan kurangnya .pub) karena ini adalah kunci pribadi Anda. Cadangkan setiap pengguna. Misalnya, jika Anda mengatur SSH untuk root, dapatkan /root/.sshjuga. Dan seterusnya untuk akun sebanyak yang Anda miliki untuk alasan ini.

d -_- b
sumber
1
itu sebabnya selalu merupakan praktik yang baik untuk memiliki di partisi yang berbeda direktori / home; kalau-kalau Anda ingin melakukan instalasi baru dan tidak ingin kehilangan konfigurasi Anda sendiri.
maniat1k
5
Jawaban ini menyesatkan. SSH menggunakan pasangan kunci pribadi / publik. Kunci pribadi ada di id_rsa. Ini adalah kunci paling impor untuk cadangan.
Jan
1
Anda dapat memulihkan kunci publik (id_rsa.pub) dari kunci pribadi (id_rsa), tetapi tidak sebaliknya. The .pubfile berisi satu baris yang dapat dimasukkan ke dalam server ~/.ssh/authorized_keysdan tidak digunakan sama sekali ketika menghubungkan dengan server.
Lekensteyn
1
@ maniat1k Saya biasanya tidak setuju bahwa Anda harus memiliki /homepartisi yang terpisah untuk OS, karena salah satu perbedaan antara versi distribusi atau dist adalah bahwa format file config dapat berubah, Jadi hal-hal dapat pecah dengan cara yang tidak terduga. Jika Anda ingin menjaga konfigurasi Anda di OS saya pikir Anda harus melakukannya secara eksplisit untuk program tertentu.
quodlibetor
1
@Lekensteyn Sebenarnya .pubfile tersebut terkadang digunakan saat menghubungkan ke server. Jika kunci rahasia dienkripsi, .pubfile tersebut digunakan untuk mengirim kunci publik ke server. Jika server menolak kunci publik, maka tidak perlu meminta pengguna untuk kata sandi. Hanya jika server menerima kunci publik maka kunci rahasia akan didekripsi. Dan jika Anda memiliki banyak kunci dalam ssh-agentdan ingin menginstruksikan klien ssh yang mana dari mereka untuk digunakan, Anda dapat melakukannya dengan memintanya untuk menggunakan .pubfile tertentu untuk otentikasi.
kasperd
33

Kunci kriptografi yang mungkin ingin Anda backup.

  • ~/.gnupg/*
  • ~/.pki/nssdb/*
  • ~/.gnome2/keyrings/*
  • ~/.ssh/*
  • /usr/local/apache2/conf/ssl.crt/server.crt
  • /usr/local/apache2/conf/ssl.key/server.key
  • /etc/ssh/*
  • /etc/ssl/private/*
  • /etc/cups/ssl/*
Anonim
sumber
3
Anda melewatkan yang ia tanyakan ( ~/.ssh) tetapi daftar yang bagus :)
Cesium
Anda juga merindukan/etc/ssh
Jan
Daftar hebat! Lebih sulit untuk google untuk daftar seperti itu dari yang seharusnya. Terima kasih telah menyediakannya.
Christian
8

Setiap pengguna memiliki directoy ~ / .ssh, yang biasanya berisi file-file berikut:

1) id_dsa             private key of this user (different filename for rsa keys)
1) id_dsa.pub         public key of this user
2) authorized_keys    public key of other users (or same user on other machines)
   config             personal configuration
   known_hosts        host keys of other machines

Selain itu, di / etc / ssh /, Anda akan menemukan:

3) ssh_host_dsa_key
3) ssh_host_dsa_key.pub
3) ssh_host_rsa_key
3) ssh_host_rsa_key.pub

Itu adalah kunci host, kunci yang mengidentifikasi komputer ini.

Anda tentu ingin mencadangkan semua kunci pribadi dan publik. Kami menyebut mesin tersebut di rumah pertanyaan dan pengguna pengguna @ rumah. Orang yang sama memiliki pengguna akun @ jauh dan menggunakan login berbasis kunci di kedua arah. Apa yang akan terjadi jika Anda kehilangan salah satu file kunci:

  1. Anda kehilangan identitas pengguna @ rumah. ssh user@remotedari rumah tidak akan lagi berfungsi dengan kunci berbasis auth.
  2. user @ remote kehilangan hak untuk login ke rumah dengan kuncinya. ssh user@hometidak akan lagi berfungsi dari jarak jauh dengan kunci berbasis auth.
  3. Anda kehilangan identitas tuan rumah. user @ remote akan melihat peringatan bahwa kunci host telah berubah ketika mencoba ssh user@home. Bergantung pada konfigurasi ini akan mencegahnya masuk.
Jan
sumber
Untuk menjawab pertanyaan yang tidak diajukan ... :)