Các user@host:path/to/repođịnh dạng cho Git để sử dụng ssh để đăng nhập vào hostvới Tên truy nhập user. Từ git help clone:
Một cú pháp giống như scp thay thế cũng có thể được sử dụng với giao thức ssh:
[user@]host.xz:path/to/repo.git/
Phần trước @tên người dùng và phương thức xác thực (mật khẩu, khóa chung, v.v.) được xác định bởi ssh, không phải Git. Git không có cách nào để chuyển mật khẩu cho ssh, vì ssh thậm chí có thể không sử dụng mật khẩu tùy thuộc vào cấu hình của máy chủ từ xa.
Sử dụng ssh-agentđể tránh gõ mật khẩu mọi lúc
Nếu bạn không muốn nhập mật khẩu ssh mọi lúc, giải pháp điển hình là tạo cặp khóa chung / riêng , đặt khóa chung vào ~/.ssh/authorized_keystệp của bạn trên máy chủ từ xa và tải khóa riêng của bạn vào ssh-agent. Xem thêm Cấu hình Git thông qua SSH để đăng nhập một lần , trang trợ giúp GitHub về passphrase khoá ssh , tài liệu ssh gitolite của , và tài liệu hướng dẫn các phím ssh Heroku của .
Lựa chọn giữa nhiều tài khoản tại GitHub (hoặc Heroku hoặc ...)
Nếu bạn có nhiều tài khoản tại một nơi như GitHub hoặc Heroku, bạn sẽ có nhiều khóa ssh (ít nhất một tài khoản cho mỗi tài khoản). Để chọn tài khoản bạn muốn đăng nhập, bạn phải cho ssh biết khóa riêng nào sẽ sử dụng .
Ví dụ: giả sử bạn có hai tài khoản GitHub: foovà bar. Khóa ssh của bạn foolà ~/.ssh/foo_github_idvà khóa ssh của bạn barlà ~/.ssh/bar_github_id. Bạn muốn truy cập git@github.com:foo/foo.gitbằng footài khoản của bạn và git@github.com:bar/bar.gitvới bartài khoản của bạn . Bạn sẽ thêm những điều sau vào ~/.ssh/config:
Host gh-foo
Hostname github.com
User git
IdentityFile ~/.ssh/foo_github_id
Host gh-bar
Hostname github.com
User git
IdentityFile ~/.ssh/bar_github_id
Sau đó, bạn sẽ sao chép hai kho lưu trữ như sau:
git clone gh-foo:foo/foo.git # logs in with account foo
git clone gh-bar:bar/bar.git # logs in with account bar
Tránh ssh hoàn toàn
Một số dịch vụ cung cấp quyền truy cập HTTP thay thế cho ssh:
GitHub:
https://username:password@github.com/username/repository.git
Gitorious:
https://username:password@gitorious.org/project/repository.git
Heroku: Xem bài viết hỗ trợ này .
CẢNH BÁO : Thêm mật khẩu của bạn vào URL bản sao sẽ khiến Git lưu trữ mật khẩu văn bản gốc của bạn .git/config. Để lưu trữ an toàn mật khẩu của bạn khi sử dụng HTTP, hãy sử dụng trình trợ giúp thông tin xác thực. Ví dụ:
git config --global credential.helper cache
git config --global credential.https://github.com.username foo
git clone https://github.com/foo/repository.git
Ở trên sẽ khiến Git yêu cầu mật khẩu của bạn cứ sau 15 phút (theo mặc định). Xem git help credentialsđể biết chi tiết.