Giải pháp này rất hữu ích nếu các khóa ssh của bạn được bảo vệ cụm mật khẩu.
Vấn đề với tất cả các câu trả lời ở trên là nếu khóa riêng của bạn là mật khẩu bảo vệ, mỗi khi bạn khởi động một nhà ga mới và cố gắng sử dụng khóa riêng, bạn phải gõ vào cụm từ mật khẩu và bạn sẽ kết thúc chạy nhiều bản sao của ssh-agent
năm ký ức. Giải pháp là thêm các mục sau vào ~/.bashrc
hoặc ~/.zshrc
:
##### START Fix for ssh-agent #####
# Ref: http://mah.everybody.org/docs/ssh
SSH_ENV="$HOME/.ssh/environment"
function start_agent {
echo "Initialising new SSH agent..."
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
echo succeeded
chmod 600 "${SSH_ENV}"
. "${SSH_ENV}" > /dev/null
/usr/bin/ssh-add;
}
# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
. "${SSH_ENV}" > /dev/null
#ps ${SSH_AGENT_PID} doesn't work under cywgin
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
start_agent;
}
else
start_agent;
fi
##### END Fix for ssh-agent #####
Điều này sẽ yêu cầu cụm mật khẩu của (các) khóa riêng ssh của bạn chỉ một lần khi bạn khởi chạy một thiết bị đầu cuối. Sau đó, việc mở các phiên cuối của thiết bị đầu cuối mới (hoặc các lần nhìn thấy tmux) sẽ sử dụng lại tác nhân ssh được tạo bởi đoạn trích ở trên.
Tài liệu tham khảo