git 在服务器上使用ssh公钥授权
时间: 2023-07-29 14:04:06 浏览: 165
git 通过ssh 进行认证连接.docx
Git 在服务器上使用 SSH 公钥授权是一种常见的授权方式,它通过设置公钥和私钥的配对来进行认证和授权。下面是具体的步骤:
1. 生成 SSH 密钥对:在本地终端中使用 `ssh-keygen` 命令生成 SSH 密钥对,该命令将生成一对公钥和私钥文件,一般默认保存在 `~/.ssh` 目录下。
2. 添加公钥到服务器:将生成的公钥文件中的内容复制到服务器上的 `~/.ssh/authorized_keys` 文件中,每个公钥应占据一行。如果 `authorized_keys` 文件不存在,可以使用 `touch ~/.ssh/authorized_keys` 创建新文件。
3. 配置服务器相关设置:确保服务器上的 `sshd_config` 文件中设置了以下配置项:
```
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
```
如果有必要,重启 SSH 服务。
4. 测试连接:在本地终端中执行 `ssh -T git@服务器IP地址` 命令进行测试,如果返回欢迎信息,则表示连接成功。
5. 配置 Git 仓库权限:进入服务器上的 Git 仓库目录,执行 `git init --bare` 命令以设置一个空的 Git 仓库。然后,在本地终端中进入相应的本地 Git 仓库目录,执行 `git remote add origin ssh://服务器IP地址/仓库路径` 命令将远程仓库关联到本地仓库。
这样,当你在本地进行 Git 操作(如 push 或 pull)时,Git 会使用 SSH 公钥与服务器进行授权验证,确保只有拥有相应私钥的用户才能进行操作。这种方式安全可靠,并且不需要每次输入用户名和密码进行授权。
阅读全文