Saya menggunakan PuTTY Key Generator untuk menghasilkan kunci RSA-2 4096 bit dengan frasa sandi.
Saya menyimpan .ppk dan kunci publik format openSSL. Kunci publik format dempul tidak berfungsi.
Bagaimanapun, kesalahan saya adalah sebagai berikut:
$ ssh -T [email protected]
key_load_public: invalid format
Enter passphrase for key '/c/Users/Dan/.ssh/id_rsa':
Hi Dan! You've successfully authenticated, but GitHub does not provide shell access.
apa masalahnya?
Saya menggunakan Pageant untuk memuat kunci dan saya menggunakan Git Bash untuk mencoba koneksi ssh. Saya juga telah memuat kunci tersebut ke GitHub, tidak yakin apa yang saya lakukan salah.
Saya sudah mencoba menambahkan baris baru dan tidak menambahkan baris baru di GitHub
git
github
ssh
public-key
JordanGS
sumber
sumber
key_load_public: invalid format
benar ketika saya menjalankan perintah sebelum saya memasukkan kata sandi?Jawaban:
Seperti yang Roland sebutkan dalam jawaban mereka, ini adalah peringatan bahwa
ssh-agent
tidak memahami format kunci publik dan bahkan kemudian, kunci publik tidak akan digunakan secara lokal.Namun demikian, saya juga bisa menjelaskan dan menjawab mengapa peringatan itu ada. Ini hanya bermuara pada fakta bahwa PuTTY Key Generator menghasilkan dua format kunci publik yang berbeda tergantung pada apa yang Anda lakukan dalam program.
Catatan: Sepanjang penjelasan saya, file kunci yang akan saya gunakan / buat akan diberi nama
id_rsa
dengan ekstensi yang sesuai. Selanjutnya, untuk kenyamanan salin-tempel, folder induk dari kunci akan dianggap sebagai folder utama~/.ssh/
. Sesuaikan detail ini dengan kebutuhan Anda sesuai keinginan.Format
Tautan ke dokumentasi PuTTY yang relevan
SSH-2
Saat Anda menyimpan kunci menggunakan PuTTY Key Generator menggunakan tombol "Simpan kunci publik", kunci tersebut akan disimpan dalam format yang ditentukan oleh RFC 4716 .
Contoh:
OpenSSH
Berlawanan dengan kepercayaan populer, format ini tidak disimpan oleh generator. Namun itu dibuat dan ditampilkan di kotak teks berjudul "Kunci publik untuk ditempelkan ke file OpenSSH authorized_keys". Untuk menyimpannya sebagai file, Anda harus menyalinnya secara manual dari kotak teks dan menempelkannya ke file teks baru.
Untuk kunci yang ditunjukkan di atas, ini adalah:
Format kuncinya sederhana
ssh-rsa <signature> <comment>
dan dapat dibuat dengan mengatur ulang file berformat SSH-2.Meregenerasi Kunci Publik
Jika Anda memanfaatkannya
ssh-agent
, kemungkinan besar Anda juga akan memiliki akses kessh-keygen
.Jika Anda memiliki OpenSSH Private Key (
id_rsa
file), Anda dapat membuat File Kunci Publik OpenSSH menggunakan:Jika Anda hanya memiliki PUTTY Private Key (
id_rsa.ppk
file), Anda harus mengonversinya terlebih dahulu.id_rsa.ppk
file Andaid_rsa
(tanpa ekstensi)Sekarang setelah Anda memiliki OpenSSH Private Key, Anda dapat menggunakan
ssh-keygen
alat seperti di atas untuk melakukan manipulasi pada kunci tersebut.Bonus: Format Kunci Publik berenkode PKCS # 1 PEM
Sejujurnya, saya tidak tahu untuk apa kunci ini digunakan karena saya tidak membutuhkannya. Tetapi saya memilikinya dalam catatan saya yang telah saya susun selama bertahun-tahun dan saya akan memasukkannya di sini untuk kebaikan yang sehat. File tersebut akan terlihat seperti ini:
File ini dapat dibuat menggunakan Kunci Pribadi OpenSSH (seperti yang dibuat dalam "Membuat Ulang Kunci Publik" di atas) menggunakan:
Atau, Anda dapat menggunakan Kunci Publik OpenSSH menggunakan:
Referensi:
sumber
.ppk
ke.pub
file. Efek sampingid_rsa
kunci privat perantara yang sebenarnya digunakan oleh program lain telah terabaikan. Saya telah mengubah bahasa "sebaiknya tanpa ekstensi" menjadi "(tanpa ekstensi)" untuk menghilangkan ambiguitas. Saya juga mengambil kesempatan untuk menulis ulang beberapa keluhan yang muncul setiap kali saya melihat kembali jawaban ini. Terima kasih atas kontribusi anda.ssh-keygen -f ~/.ssh/id_rsa -y > ~/.ssh/id_rsa.pub
ini menyelesaikannya. TERIMA KASIH!Ada solusi sederhana jika Anda dapat menginstal dan menggunakan alat puttygen. Berikut langkah-langkahnya. Anda harus memiliki frasa sandi dari kunci pribadi.
langkah 1: Unduh puttygen terbaru dan buka puttygen
langkah 2: Muat file kunci pribadi Anda yang ada, lihat gambar di bawah ini
langkah 3: Masukkan frasa sandi untuk kunci jika diminta dan tekan ok
langkah 4: seperti yang ditunjukkan pada gambar di bawah, pilih tab menu "konversi" dan pilih "Ekspor kunci OpenSSH"
Simpan file kunci pribadi baru di lokasi pilihan dan gunakan yang sesuai.
sumber
load pubkey invalid format
peringatan, ketika saya mengekspor kunci dengan kunci Ekspor OpenSSH . Itu hilang saat menggunakan kunci Ekspor OpenSSH (paksa format file baru) .apt install putty-tools
atauyum install putty
kemudiansudo puttygen private.ppk -O private-openssh-new -o private.pem
TL; DR: juga pastikan bahwa Anda
id_rsa.pub
berada di ascii / UTF-8.Saya memiliki masalah yang sama, namun jawaban yang diterima saja tidak berfungsi karena pengkodean teks, yang merupakan masalah tambahan yang mudah terlewatkan.
Saat aku lari
di Windows PowerShell, ini menyimpan output ke
id_rsa.pub
dalam pengkodean UTF-16 LE BOM , bukan dalam UTF-8 . Ini adalah properti dari beberapa instalasi PowerShell, yang telah dibahas dalam Menggunakan PowerShell untuk menulis file dalam UTF-8 tanpa BOM . Rupanya, OpenSSH tidak mengenali pengkodean teks sebelumnya dan menghasilkan kesalahan yang identik:Menyalin dan menempelkan keluaran
ssh-keygen -f ~/.ssh/id_rsa -y
ke editor teks adalah cara termudah untuk mengatasi ini.NB Ini bisa menjadi tambahan untuk jawaban yang diterima , tetapi saya belum memiliki cukup karma untuk berkomentar di sini.
sumber
ssh-keygen -f ~/.ssh/id_rsa -y | ac ~/.ssh/id_rsa.pub
sebagai gantinya.Jika Anda menyalin kunci publik dengan clipboard dan menempelkannya, mungkin saja string kunci publik dapat rusak yang berisi baris baru.
Pastikan string kunci publik Anda dibentuk sebagai satu baris.
sumber
Tampaknya
ssh
kunci publik Anda tidak dapat dibaca. Tapi itu tidak masalah.Anda mengupload kunci publik ke github, tetapi mengautentikasi menggunakan kunci pribadi Anda . Lihat misalnya bagian FILES di
ssh(1)
.sumber
Alih-alih langsung menyimpan kunci pribadi, Pergi ke Konversi dan Ekspor Kunci SSh. Memiliki masalah yang sama dan ini berhasil untuk saya
sumber
Saya memiliki peringatan yang sama. Itu adalah kunci yang sangat tua. Saya membuat ulang kunci pada OpenSSH 7 saat ini, dan kesalahan itu hilang.
sumber
Kesalahan ini menyesatkan - "
pubkey
" dikatakan " " saat menunjuk ke file kunci pribadi~/.ssh/id_rsa
.Dalam kasus saya, itu hanyalah kunci publik yang hilang (karena saya belum memulihkannya dari lemari besi).
DETAIL
Saya dulu melewatkan penerapan
~/.ssh/id_rsa.pub
oleh skrip otomatis.Semua
ssh
penggunaan berfungsi, tetapi kesalahan membuat saya memikirkan kemungkinan kekacauan.Tidak sama sekali -
strace
membantu untuk memperhatikan bahwa pemicunya sebenarnya adalah*.pub
file tersebut:sumber
Jadi, setelah pembaruan saya mengalami masalah yang sama. Saya menggunakan PEM
key_file
tanpa ekstensi dan hanya menambahkan.pem
memperbaiki masalah saya. Sekarang file tersebut adalahkey_file.pem
.sumber
Jika Anda menggunakan Windows 10 dengan SSH bawaan, per Agustus 2020 hanya mendukung kunci ed25519. Anda akan mendapatkan
key_load_public: invalid format
kesalahan jika Anda menggunakan misalnya kunci RSA.Sesuai dengan masalah GitHub ini, ini harus diperbaiki melalui Pembaruan Windows beberapa saat pada tahun 2020. Jadi salah satu solusinya adalah menunggu pembaruan dikirimkan.
Jika Anda tidak bisa menunggu, solusinya adalah dengan menghasilkan kunci ed25519 baru, yang merupakan saran yang bagus .
Anda dapat menggunakannya dengan misalnya github, tetapi beberapa sistem lama mungkin tidak mendukung format yang lebih baru ini.
Setelah membuat kunci Anda, jika Anda menggunakan salah satu fitur di bawah ini, jangan lupa untuk memperbaruinya!
~\.ssh\config
mungkin masih mengarah ke kunci lama.ssh-add
perintahsumber