Ubuntu调整ssh证书登录,优化ssh配置,并且让sudo不需要密码
2017-05-29
调整证书登录可以增加ubuntu的ssh登录的安全性,并且由于证书登录不需要密码了,sudo也没有必要再设置一个密码了。
本文迁移自吾得,原始链接为 https://wudew.com/posts/65
本文章经测试适用于vultr,阿里云版本的ubuntu16.04,由于技术更新非常迅速,请注意本文章发表时间。
由于aws默认给的就是ubuntu用户,aws用户可以跳过这篇文章。
# 使用ubuntu用户名密码登录
# 创建公钥私钥文件
ssh-keygen -t rsa -b 4096 -C [email protected]
# 然后提示你的时候全部enter,如果需要覆盖id_rsa文件的时候选择y即可
# 然后在~(用户目录,这里为/home/ubuntu)目录下会生成一个.ssh文件夹,其中id_rsa是私钥文件,id_rsa.pub为公钥文件
# 将公钥文件配置为该用户的登录公钥
mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
# 输出私钥文件并且保存好,然后删除
cat ~/.ssh/id_rsa
rm -rf ~/.ssh/id_rsa
# 调整sshd配置
sudo vi /etc/ssh/sshd_config
# # 启用证书登录
# RSAAuthentication yes
# PubkeyAuthentication yes
# AuthorizedKeysFile %h/.ssh/authorized_keys
#
# # 禁用密码登录
# PasswordAuthentication no
#
# # 设置超时时间60分钟
# ClientAliveCountMax 60
# 重启服务
sudo service sshd restart
# 启用sudo登录
sudo visudo -f /etc/sudoers.d/ubuntu
# 添加
# # User rules for ubuntu
# ubuntu ALL=(ALL) NOPASSWD:ALL