Kisah belakang - Saya telah menggunakan Git di komputer ini (Windows XP) selama sekitar 8 bulan tanpa masalah. Tiba-tiba, minggu lalu, tidak lagi menanyakan nama pengguna dan kata sandi saya ketika saya memulai Git.
Itu menanyakan setiap kali saya mencoba menyentuh cabang jarak jauh saya, dan mengingat saya memiliki kata sandi dan bukan kata sandi, itu benar-benar menjengkelkan.
Saya menggunakan kode dari GitHub dalam .profile
file saya :
SSH_ENV="$HOME/.ssh/environment"
# start the ssh-agent
function start_agent {
echo "Initializing new SSH agent..."
# spawn ssh-agent
ssh-agent | sed 's/^echo/#echo/' > "$SSH_ENV"
echo succeeded
chmod 600 "$SSH_ENV"
. "$SSH_ENV" > /dev/null
ssh-add
}
# test for identities
function test_identities {
# test whether standard identities have been added to the agent already
ssh-add -l | grep "The agent has no identities" > /dev/null
if [ $? -eq 0 ]; then
ssh-add
# $SSH_AUTH_SOCK broken so we start a new proper agent
if [ $? -eq 2 ];then
start_agent
fi
fi
}
# check for running ssh-agent with proper $SSH_AGENT_PID
if [ -n "$SSH_AGENT_PID" ]; then
ps -ef | grep "$SSH_AGENT_PID" | grep ssh-agent > /dev/null
if [ $? -eq 0 ]; then
test_identities
fi
# if $SSH_AGENT_PID is not properly set, we might be able to load one from
# $SSH_ENV
else
if [ -f "$SSH_ENV" ]; then
. "$SSH_ENV" > /dev/null
fi
ps -ef | grep "$SSH_AGENT_PID" | grep ssh-agent > /dev/null
if [ $? -eq 0 ]; then
test_identities
else
start_agent
fi
fi
Garis yang menangkapnya adalah:
if [ -n "$SSH_AGENT_PID" ]; then
Itu dianggap entri yang valid. Tak perlu dikatakan, saya telah memulai kembali dan masuk kembali ke komputer saya dengan berbagai cara, selalu sama. Saya telah echo
mengedit ID proses dan ini bukan proses yang berjalan di komputer saya (per Task Manager).
Saya telah memutakhirkan Git saya (berharap itu akan memperbaiki masalah) dan saya sekarang menjalankan versi 1.7.11-preview20120620
Bantuan apa pun akan sangat dihargai.
sumber
. "$HOME/.ssh/env"
atau. "$SSH_ENV"
Di versi terbaru Git untuk Windows 2.x, ada
start-ssh-agent.cmd
yang bisa dijalankan di gitbash
dan acmd
.Lihat juga di sini: https://github.com/git-for-windows/git/wiki/Auto-launching-ssh-agent-when-git-starts
sumber
Versi skrip python. Diuji pada alat Windows Vista + Git SSH. Dari sini .
sumber