Macos配置ssh免密登陆
以terminal为例
- 在mac上打开terminal。更改目录到~/.ssh目录,ls查看目录公私钥文件
cd ~/.ssh
# 更换目录到 ~/.ssh
ls
# 查看当前目录公私钥文件
此时是没有公私钥对的。
(ssh_old是个人文件,没有这个文件不用管)
2. 生成公私钥对
ssh-keygen
红色的框就是自己起一个名字,不输入的话,默认是id_rsa
绿色的框不用输入,敲两下回车即可。
ls#可以看到两个文件,图中蓝色框,db是密钥,db.pub是公钥
- 上传公钥到服务器
ssh-copy-id -i[公钥文件] user@host
# user是你的ssh的用户,host是服务器地址,这时候还要输入密码。# 例子:ssh-copy-id -i id_rsa.pub root@111.111.111.111
4. ssh-add
ssh-add -K [密钥文件]
- 配置完成,无需密码直接登陆
Windows教程
- 本地用ssh-keygen创建ssh密钥
具体的每个框输入什么,可以上翻查看MacOS关于这部分的描述
此时生成的密钥对在.ssh目录下
- 将test.pub 上传到服务器
scp [公钥文件] 用户名@服务器IP地址:~/.ssh/[公钥文件]
4. 登录服务器端,配置相关内容
#进入到ssh目录
cd ~/.ssh
# 新建文件用来存放公钥,如果你已经有这个文件了,就不用创建了
touch authorized_keys
# 然后将你的windows公钥追加到这个文件中即可
cat 上传的公钥 >> authorized_keys
#配置权限
chmod 600 authorized_keys
chmod 700 .ssh
- 在本机.ssh创建config文件
写入相关信息
再次通过ssh连接服务器的时候就不需要输入密码了
VScode教程
- 打开远程资源管理器,点击齿轮
- 打开自己的vscode ssh配置文件
- 配置如下信息:
Host 是这个链接的别名
HostName 是IP地址
User 是用户名
Port 是端口号
IdentityFile 是私钥地址
# user是你的ssh的用户,host是服务器地址,这时候还要输入密码。# 例子:ssh-copy-id -i id_rsa.pub root@111.111.111.111
VSCode的免密就配置好了