Nếu bạn giống tôi, bạn có thể:
Giữ các khóa ssh của bạn được tổ chức
Giữ các lệnh git clone của bạn đơn giản
Xử lý bất kỳ số lượng khóa cho bất kỳ số lượng kho.
Giảm bảo trì khóa ssh của bạn.
Tôi giữ chìa khóa của tôi trong ~/.ssh/keys
thư mục của tôi .
Tôi thích quy ước hơn cấu hình.
Tôi nghĩ rằng mã là luật; nó càng đơn giản thì càng tốt
BƯỚC 1 - Tạo bí danh
Thêm bí danh này vào vỏ của bạn: alias git-clone='GIT_SSH=ssh_wrapper git clone'
BƯỚC 2 - Tạo Script
Thêm tập lệnh ssh_wrapper này vào PATH của bạn:
#!/bin/bash
# Filename: ssh_wrapper
if [ -z ${SSH_KEY} ]; then
SSH_KEY='github.com/l3x' # <= Default key
fi
SSH_KEY="~/.ssh/keys/${SSH_KEY}/id_rsa"
ssh -i "${SSH_KEY}" "$@"
VÍ DỤ
Sử dụng khóa github.com/l3x:
KEY=github.com/l3x git-clone https://github.com/l3x/learn-fp-go
Ví dụ sau đây cũng sử dụng khóa github.com/l3x (theo mặc định):
git-clone https://github.com/l3x/learn-fp-go
Sử dụng khóa bitbucket.org/lsheehan:
KEY=bitbucket.org/lsheehan git-clone git@bitbucket.org:dave_andersen/exchange.git
GHI CHÚ
Thay đổi SSH_KEY mặc định trong tập lệnh ssh_wrapper thành những gì bạn sử dụng hầu hết thời gian. Bằng cách đó, bạn không cần phải sử dụng biến KEY hầu hết thời gian.
Bạn có thể nghĩ, "Này! Điều đó xảy ra rất nhiều với bí danh, tập lệnh và một số thư mục các phím", nhưng đối với tôi đó là quy ước. Gần như tất cả các máy trạm của tôi (và máy chủ cho vấn đề đó) được cấu hình tương tự nhau.
Mục tiêu của tôi ở đây là đơn giản hóa các lệnh mà tôi thực hiện thường xuyên.
Các quy ước của tôi, ví dụ, các tập lệnh Bash, bí danh, v.v., tạo ra một môi trường nhất quán và giúp tôi giữ mọi thứ đơn giản.
KISS và tên quan trọng.
Để biết thêm mẹo thiết kế, hãy xem Chương 4 Thiết kế RẮN trong cuốn sách của tôi: https://www.amazon.com/Learning-Feftal-Programming-Lex-Sheehan-ebook/dp/B0725B8MYW
Mong rằng sẽ giúp. - Lex