![86650beee609cf7327c472f393e256b4.png](https://img-blog.csdnimg.cn/img_convert/86650beee609cf7327c472f393e256b4.png)
一个自用服务器天天被各种尝试登陆,把密码登陆关了算了~
生成密匙对
这一步可在 client 端 或者 server 端操作
ssh-keygen -t rsa -C "company" -b 4096 -f ~/.ssh/company-rsa
-b:指定密钥长度;-C:添加注释;-f:指定用来保存密钥的文件名;-t:指定要创建的密钥类型。文件名可以使用默认的
这会在制定目录下生成两个文件
- company-rsa: 私钥,相当于你手中的钥匙
- company-rsa.pub: 公钥,相当于你家的门锁
服务器端配置
这一步相当于给你家装门锁
授权公钥
在用户目录新建 .ssh/authorized_keys
文件,将上一步生成的公钥复制到此文件
配置
修改 /etc/ssh/sshd_config
文件
PubkeyAuthentication yes
# 另外,请留意 root 用户能否通过 SSH 登录:
PermitRootLogin yes
重启服务 service sshd restart
禁用密码登陆
修改 /etc/ssh/sshd_config
文件务必确认此时可以使用 key 正常登陆
# 当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录:
PasswordAuthentication no
重启服务 service sshd restart
实现免密登陆
权限设置
- 服务器端
# 设置 .ssh 目录
chmod 700 .ssh
# 设置 authorized_keys
chmod 600 authorized_keys
- 设置客户端 配置
.ssh/config
文件
Host BWG
HostName 1.2.3.4
Port 1234
User root
IdentityFile a/b/rsa
更改私钥权限
chmod 600 a/b/rsa
随后就可以通过 ssh BWG
直接登陆服务器