Pertanyaan Tidak dapat membuka koneksi ke agen autentikasi Anda


Saya mengalami kesalahan ini:

$ git push heroku master
Warning: Permanently added the RSA host key for IP address '50.19.85.132' to the list of known hosts.
!  Your key with fingerprint b7:fd:15:25:02:8e:5f:06:4f:1c:af:f3:f0:c3:c2:65 is not authorized to access bitstarter.

Saya mencoba menambahkan kunci dan saya mendapatkan kesalahan ini di bawah ini:

$ ssh-add ~/.ssh/id_rsa.pub
Could not open a connection to your authentication agent.

1183
2017-07-24 23:26


asal


Jawaban:


Apakah Anda Mulai ssh-agent?

Anda mungkin perlu memulai ssh-agent sebelum Anda menjalankan ssh-add perintah:

eval `ssh-agent -s`
ssh-add

Perhatikan bahwa ini akan memulai agen untuk msysgit Bash pada Windows. Jika Anda menggunakan shell atau sistem operasi yang berbeda, Anda mungkin perlu menggunakan varian dari perintah, seperti yang tercantum dalam jawaban lainnya.

Lihat jawaban berikut:

  1. ssh-add complain: Tidak dapat membuka koneksi ke agen otentikasi Anda
  2. Git push membutuhkan nama pengguna dan kata sandi (berisi petunjuk rinci tentang cara menggunakan ssh-agent)
  3. Bagaimana cara menjalankan agen otentikasi (git / ssh)?.
  4. Tidak dapat membuka koneksi ke agen autentikasi Anda

Untuk memulai ssh-agent secara otomatis dan mengizinkan satu instance untuk bekerja di beberapa jendela konsol, lihat Mulai ssh-agent saat login.

Mengapa kita perlu menggunakannya eval bukan hanya ssh-agent?

Untuk mencari tahu mengapa, lihat Jawaban Robin Green.

Kunci Publik vs. Pribadi

Juga, kapanpun saya gunakan ssh-addSaya selalu menambahkan kunci privat untuk itu. Berkas ~/.ssh/id_rsa.pub tampak seperti kunci publik, saya tidak yakin apakah itu akan berfungsi. Apakah Anda memiliki ~/.ssh/id_rsa mengajukan? Jika Anda membukanya di editor teks, apakah itu mengatakan itu kunci pribadi?


1827
2017-07-25 03:37



Saya mencoba solusi lain tanpa hasil. Saya membuat lebih banyak penelitian dan menemukan bahwa perintah berikut berhasil. Saya menggunakan Windows 7 dan Git Bash.

eval $(ssh-agent)

Informasi lebih lanjut di: https://coderwall.com/p/rdi_wq


441
2018-02-20 13:34



Perintah berikut berhasil untuk saya. Saya menggunakan CentOS.

exec ssh-agent bash

220
2017-12-05 15:10



MsysGit atau Cygwin

Jika Anda menggunakan Msysgit atau Cygwin Anda dapat menemukan tutorial yang bagus di SSH-Agent di msysgit dan cygwin dan bash:

  1. Tambahkan file bernama .bashrc ke folder rumah Anda.

  2. Buka file dan tempelkan di:

    #!/bin/bash
    eval `ssh-agent -s`
    ssh-add
    
  3. Ini mengasumsikan bahwa kunci Anda adalah yang konvensional ~/.ssh/id_rsa lokasi. Jika tidak, masukkan jalur lengkap setelah ssh-add perintah.

  4. Tambahkan ke atau buat file ~/.ssh/config dengan isinya

    ForwardAgent yes
    

    Dalam tutorial asli ForwardAgent param adalah Yes, tapi itu salah ketik. Gunakan semua huruf kecil atau Anda akan mendapatkan kesalahan.

  5. Nyalakan ulang Msysgit. Ini akan meminta Anda untuk memasukkan kata sandi Anda sekali, dan itu saja (sampai Anda mengakhiri sesi, atau ssh-agent Anda terbunuh.)

Mac / OS X

Jika Anda tidak ingin memulai ssh-agent baru setiap kali Anda membuka terminal, periksa Gantungan kunci. Saya menggunakan Mac sekarang, jadi saya menggunakan tutorial ssh-agent dengan zsh & keychain di Mac OS X untuk mengaturnya, tetapi saya yakin pencarian Google akan memiliki banyak info untuk Windows.

Memperbarui: Solusi yang lebih baik di Mac adalah menambahkan kunci Anda ke Gantungan Kunci Mac OS:

ssh-add -K ~/.ssh/id_rsa

Sederhana seperti itu.


189
2018-04-09 17:43



Tidak dapat membuka koneksi ke agen autentikasi Anda

Untuk mengatasi kesalahan ini:

pesta:

$ eval `ssh-agent -s`

tcsh:

$ eval `ssh-agent -c`

Kemudian gunakan ssh-add seperti biasa.


Tip Hot:

Saya selalu lupa apa yang harus diketik untuk perintah ssh-agent di atas, jadi saya membuat alias di saya .bashrcfile seperti ini:

alias ssh-agent-cyg='eval `ssh-agent -s`'

Sekarang daripada menggunakan ssh-agent, Saya bisa menggunakan ssh-agent-cyg

Misalnya.

$ ssh-agent-cyg
SSH_AUTH_SOCK=/tmp/ssh-n16KsxjuTMiM/agent.32394; export SSH_AUTH_SOCK;
SSH_AGENT_PID=32395; export SSH_AGENT_PID;
echo Agent pid 32395;
$ ssh-add ~/.ssh/my_pk

Sumber asli perbaikan:

http://cygwin.com/ml/cygwin/2011-10/msg00313.html


174
2017-07-17 08:54



Saya menghadapi masalah yang sama untuk Linux, dan inilah yang saya lakukan:

Pada dasarnya, perintah ssh-agent memulai agen, tetapi tidak benar-benar mengatur variabel lingkungan untuk menjalankannya. Itu hanya menghasilkan variabel-variabel ke shell.

Kamu butuh:

eval `ssh-agent`

lalu lakukan ssh-add. Lihat Tidak dapat membuka koneksi ke agen autentikasi Anda.


103
2017-07-19 06:12



ssh-add dan ssh (dengan asumsi Anda menggunakan implementasi openssh) memerlukan variabel lingkungan untuk mengetahui bagaimana berbicara dengan agen ssh. Jika Anda memulai agen di jendela prompt perintah yang berbeda dengan yang Anda gunakan sekarang, atau jika Anda memulainya dengan tidak benar, baik ssh-add maupun ssh akan melihat bahwa kumpulan variabel lingkungan (karena variabel lingkungan diatur secara lokal ke prompt perintah yang diatur di).

Anda tidak mengatakan versi ssh yang Anda gunakan, tetapi jika Anda menggunakan cygwin, Anda dapat menggunakan resep ini dari Agen SSH di Cygwin:

# Add to your Bash config file
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-s"
if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then
    eval `$SSHAGENT $SSHAGENTARGS`
    trap "kill $SSH_AGENT_PID" 0
fi

Ini akan memulai agen secara otomatis untuk setiap jendela prompt perintah baru yang Anda buka (yang suboptimal jika Anda membuka beberapa perintah perintah dalam satu sesi, tetapi setidaknya itu akan bekerja).


94
2017-11-03 11:53