Tôi đang sử dụng git bash và tôi thiết lập khóa ssh bằng ssh-keygen và mỗi lần tôi làm gì đó với repo git hãy hỏi tôi mật khẩu cho /c/Users/jankiewj/.ssh/id_rsa
. Có cách nào để vô hiệu hóa cụm mật khẩu đó.
Tôi đang sử dụng git bash và tôi thiết lập khóa ssh bằng ssh-keygen và mỗi lần tôi làm gì đó với repo git hãy hỏi tôi mật khẩu cho /c/Users/jankiewj/.ssh/id_rsa
. Có cách nào để vô hiệu hóa cụm mật khẩu đó.
Câu trả lời:
Bạn có thể chạy cái này trong git bash:
eval `ssh-agent -s`
ssh-add ~/.ssh/*_rsa
nó sẽ yêu cầu cụm từ thông qua trong lệnh thứ hai, và đó là nó. Mỗi hành động bổ sung bạn sẽ cần thực hiện (một khi đã yêu cầu cụm từ vượt qua) sẽ không hỏi bạn cụm từ vượt qua (xem ví dụ trong ảnh chụp màn hình bên dưới):
.bashrc
mỗi lần tôi mở git bash tôi nhận được lời nhắc và cho phiên đó tôi đã cài đặt xong.
~/.bashrc
sau đó nhập các dòng từ bài đăng của bạn vào đó và lưu, đó là nó :) thx!
.bashrc
, tôi sẽ sử dụng một tập lệnh và đặt nó vào trong .bash_profile
hoặc .profile
. Đây là một đoạn của phần chính của tôi .bash_profile
, nó sẽ giải quyết điều này cho bất cứ ai vẫn đang tìm kiếm một câu trả lời; Nó tương tự như một câu trả lời dưới đây. Ở đầu tập lệnh tôi tải lên .bashrc
, nếu không áp dụng, hãy bỏ nó đi. Lưu ý: bạn sẽ cần thay đổi các tham chiếu id_rsa
thành bất cứ điều gì bạn đặt tên cho khóa SSH riêng tư của mình và có thể là đường dẫn.
Một giải pháp tốt hơn và lâu dài hơn là tự động khởi chạy ssh-agent khi mở git bash trên windows. Bạn có thể sao chép / dán bên dưới trong .profile hoặc .bashrc của bạn. Tôi thích đặt nó trên .profile
env=~/.ssh/agent.env
agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
agent_start () {
(umask 077; ssh-agent >| "$env")
. "$env" >| /dev/null ; }
agent_load_env
# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
agent_start
ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
ssh-add
fi
unset env
Giải pháp này được lấy từ bài viết trợ giúp github này
.bashrc
, giải pháp của bạn khác nhau như thế nào? Trên Windows bash, mỗi shell là độc lập nên tác nhân không bao giờ chạy khi bạn chạy shell.
.bashrc
. Chỉ nhắc mật khẩu ssh lần đầu tiên. Bảo vệ cuộc sống của tôi. Cảm ơn bạn.
ssh-add -D
xóa tất cả các phím.
Tôi không chắc chắn nếu tôi muốn giới thiệu nó, nhưng khi bạn tạo Khóa và yêu cầu đặt mật khẩu, chỉ cần nhấn enter và bỏ qua mật khẩu.
Hãy xem liên kết này để biết cách sử dụng ssh-keygen
:
https://help.github.com/articles/usiness-with-ssh-key-passph cụm /
Có lẽ ssh-agent
có thể giúp bạn bằng cách nào đó. Nhưng không chắc chắn mà không biết hệ thống hiện tại của bạn.
mvn release:perform
giai đoạn nó cố gắng kiểm tra thẻ phát hành mà không cung cấp cụm mật khẩu. Vì vậy, chỉ xóa cụm mật khẩu đã giải quyết vấn đề này.
Nhập lệnh git này vào vị trí repos của bạn " ssh-keygen -p " Điều này sau đó sẽ nhắc bạn nhập vị trí keyfile, cụm mật khẩu cũ và cụm mật khẩu mới (có thể để trống để không có cụm mật khẩu). Không nhập bất cứ thứ gì vào mật khẩu mới và nó sẽ xóa cụm mật khẩu