Saya sudah mencoba untuk ssh-add
mengerjakan RaspberryPi yang menjalankan Raspbian.
Saya bisa mulai ssh-agent
, ketika saya melakukannya memberikan output berikut ke terminal:
SSH_AUTH_SOCK=/tmp/ssh-06TcpPflMg58/agent.2806; export SSH_AUTH_SOCK;
SSH_AGENT_PID=2807; export SSH_AGENT_PID;
echo Agent pid 2807;
Jika saya menjalankan, ps aux | grep ssh
saya bisa melihatnya sedang berjalan.
Lalu saya mencoba menjalankan ssh-add
untuk menambahkan frasa sandi utama saya, dan saya mendapatkan yang berikut:
Could not open a connection to your authentication agent.
Ada ide?
command-line
ssh
ssh-agent
Daniel Groves
sumber
sumber
eval $(ssh-agent)
Jawaban:
Shell Anda dimaksudkan untuk mengevaluasi output kode shell oleh
ssh-agent
. Jalankan ini sebagai gantinya:Atau jika Anda sudah memulai ssh-agent, salin tempel ke prompt shell Anda (dengan asumsi Anda menjalankan shell seperti Bourne).
ssh
perintah perlu tahu cara berbicara denganssh-agent
, mereka tahu itu dariSSH_AUTH_SOCK
variabel lingkungan.sumber
ssh-agent bash
dilakukannya), tetapi tidak dapat memperbarui memori dari proses terpisah yang menjalankan perintah asing (shell Anda sudah berjalan).Coba yang ini:
sumber
ssh-agent /usr/bin/fish
./usr/local/bin/fish
(sebagai alternatif/usr/ports/shells/fish
). Terima kasihwhereis
atas bantuannya karena telah membantu saya mengetahuinya.Pertanyaan ini juga sangat baik dibahas di Stackoverflow .
sumber
`...`
. Tanpa mereka, operator split + glob dipanggil pada output.Jika menggunakan csh sebagai shell ( FreeBSD PI ) ini bisa berfungsi:
selanjutnya Anda hanya perlu melakukan sesuatu seperti:
sumber
Anda juga dapat menggunakan sintaks berikut:
sumber
ssh-agent sh -c "ssh-add -l"
itu akan memberi tahu Anda tidak memiliki identitas.ssh-agent sh -c "ssh-add && ssh-add -l"
akan mencetak identitas Anda.Coba ini: buka
C:\$Installation_Folder$\Git\cmd
dan jalankan:Ini akan membuka perintah cmd dan menjalankan
ssh-agent
cara yang benar.ssh-add ~/.ssh/id_rsa
kemudian harus bekerja.sumber
Ini membingungkan, dan memiliki 2 kemungkinan jawaban yang baik, tergantung pada apakah pengguna berusaha untuk menambahkan kunci ssh di Linux atau di Windows (seperti saya). Ini mungkin tidak menjawab OP, tetapi merupakan perluasan untuk git-bash. Saya menjalankan Windows dan Ubuntu untuk pengembangan, dan instalasi git saya sedikit berbeda di masing-masing.
.. adalah jawaban Windows yang bagus, tetapi gagal menentukan bahwa Anda diharapkan untuk pergi melalui Windows Explorer untuk menemukan folder instalasi Git, dan menjalankan shell Windows akan terbuka setelah menyelesaikan langkah 1.
"buka C: \ $ Installation_Folder $ \ Git \ cmd "
Langkah 2: Anda hanya perlu mengklik dua kali
Pada langkah 3, Anda kembali ke git-bash atau emulator terminal * nix mana pun yang Anda jalankan dan jalankan ssh-add. Jika Anda menggunakan nama default untuk kunci publik ssh, Anda tidak perlu menambahkan nama karena ssh-add menggunakan itu secara otomatis.
sumber
Ada beberapa cara jika Anda ingin menggunakan identitas dengan sudo, misalnya
sudo npm install
.Jauh , tetapi juga memberi Anda akses root sehingga Anda tidak perlu menggunakan
sudo
banyak.sudo ssh-agent bash
Ini akan meminta kata sandi Anda dan setelah itu akan berjalan
ssh-agent
dengan hak superuser,cd /home/user/.ssh
Dari sana Anda bisa lari
Cara singkat , hanya pengguna Anda (kecuali jika Anda ingin banyak sudo)
sumber
export
daneval
bekerja sama baiknya dengan shell login root yang disediakan root seperti Bourne. Jika shell root adalah csh atau tcsh, gunakaneval `ssh-agent -c`
root
akses ke agen ssh Anda dengan melakukansudo SSH_AUTH_SOCK="$SSH_AUTH_SOCK" npm install...
eval "$(ssh-agent)"
saat prompt bash shell berjalan karena root akan berfungsi. Anda jelas perlu menjalankanssh
dari shell itu atau turunannya sehingga mereka mewarisi SSH_AUTH_SOCK env var.eval "$(sudo ssh-agent)"; sudo ssh...
tidak akan berfungsi karenasudo
secara default tidak lulus SSH_AUTH_SOCK env var.eval "$(ssh-agent)"
sakit melihat nanti untuk melihat apakah ada semacam kesalahan konfigurasi. Meskipun cara saat ini saya telah memberikan panduan ini memungkinkan kontrol gratis atas pengguna yang Anda inginkan karena Anda sudah root dan dapat mengakses semua pengguna id_rsa yang ada di server. Jadi begitu saya membuatnya berfungsi dengan baik, edit jawaban saya.