Giả sử tôi có một khóa cho Github, cùng với các khóa khác. Tôi đã thêm rất nhiều khóa vào đại lý ssh của mình ( ssh-add -L
trả về nhiều dòng) trong máy tính ở nhà của tôi A. Trong tôi .ssh/config
đã thiết lập khóa nào để sử dụng với máy chủ nào, ví dụ:
ssh -T -vvv git@github.com 2>&1 | grep Offering
cho
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
Chỉ có một chìa khóa được cung cấp, như mong đợi. Nhưng sau đó ssh-ing đến một số máy chủ B với ForwardAgent yes
và lặp lại cùng một lệnh, tôi nhận được
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.linode2
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.helium
debug1: Offering RSA public key: /Users/doxna/.ssh/id_rsa.github
có nghĩa là nó thử tất cả các phím của tôi. Đây là vấn đề vì chỉ có thể thử một số lượng khóa hạn chế trước khi máy chủ quay trở lại Too many authentication failures
. Vì vậy, tôi đã cố gắng chỉnh sửa .ssh/config
trên máy chủ B để bao gồm
Host github.com
IdentityFile /Users/doxna/.ssh/id_rsa.github
IdentitiesOnly yes
nhưng sau đó tôi không nhận được các dịch vụ quan trọng, mà là
debug2: key: /Users/doxna/.ssh/id_rsa.github ((nil))
mà tôi đoán có nghĩa là không tìm thấy khóa (?) Và sau tất cả, khóa được đặt tại máy tính ở nhà của tôi A, không phải máy chủ B, vậy câu hỏi đặt ra là làm thế nào để tham khảo nó tại máy chủ B? Hy vọng tôi quản lý để giải thích câu hỏi.