ssh免密配置
方法一
一般来说是使用账号密码登录的
ssh root@8.124.188.40 |
现在用ssh的方式不用在输入密码了,这个其实和以前的ssh远程仓库一样的
首先生成密钥,参考之前的ssh远程仓库,得到两个文件.pub的是公钥放服务器.
# 在本地生成公钥/私钥对 |

本地也要给文件权限
$ chmod 700 ~/.ssh |
在远程服务器创建的.ssh文件下创建一个文件,里面保存公钥即可(注意是在远程服务器的哈)这里涉及vim编辑,然后把生成的.pub内容复制到服务器的.ssh当中的authorized_keys文件当中,没有这个文件就生成.同时还要给权限。
测试
$ ssh -v git@xxx.xxx.xxx.xxx(公网IP) |
总结
- 生成密钥对(公钥 + 私钥)
公钥放远程、私钥留本地。 - 对应路径
- macOS / Linux 本地:
~/.ssh/ - Windows(Git Bash):
C:\Users\<用户名>\.ssh\ - 远程服务器(假设用户为 git):
/home/git/.ssh/authorized_keys
- macOS / Linux 本地:
- 设置权限
.ssh目录:700(仅本人可访问)- 私钥:
600(仅本人可读写) authorized_keys:600(仅本人可读写)
远端
mkdir -p ~/.ssh |
本地(macOS)
chmod 700 ~/.ssh |
本地(Windows - Git Bash)
chmod 700 ~/.ssh |
如果服务器是多用户(比如 git、ubuntu、root 都能登录),要确保:
chown -R git:git ~/.ssh |
“让 .ssh 这个文件夹真正归 git 用户所有,这样 SSH 登录时才会信任它。”不然属主不对,SSH 也会拒绝密钥登录。
方法二
免密ssh密码的配置(ubunut下或者gitbash都可以)
使用ssh-copy-id,然后输入一次密码。
ssh-copy-id username@your_server_ip |
成功后输出:
Number of key(s) added: 1 |
以后连接就直接
ssh 用户名@ip |