随着云上用户的增多,安全事件层出不穷,根据分析大部分入侵是由于安全组对外开放敏感端口,且敏感端口存在弱口令造成。本次将介绍SSH服务配置的最佳实践。
大部分云用户是使用用户名和密码登陆SSH服务,这里对密码登陆有两个最佳实践
通过命令查询主机的可登陆用户
grep -v 'nologin' /etc/passwd
可以看到该CVM有两个可以远程登陆的账号root和test。对test用户禁用SSH权限
vi /etc/ssh/sshd_config在这个文件里面的最后一行加上这个
DenyUsers test # Linux系统账户
说明:如果文件里已经有DenyUsers,则只需修改DenyUsers的值就可以了。
service sshd restart #centos6使用此命令
systemctl restart sshd.service #centos7使用此命令
a.服务器设置大写、小写、特殊字符、数字组成的20位的复杂密码 ,也可使用密码生成器自动生成复杂密码,这里给您一个链接参考: https://1password.com/zh-cn/password-generator/。
b.Linux修改密码用 passwd 命令,用root用户运行passwd ,passwd user_name可以设置或修改任何用户的密码,普通用户运行passwd只能修改它自己的密码。
[root@localhost ~]# passwd ##修改root用户密码
Changing password for user root..
New password: ##输入新密码
Retype new password: ##再次确认新密码
passwd: all authentication tokens updated successfully.
[root@localhost ~]# passwd test ##修改test用户密码
Changing password for user hadoop.
New password: ##输入新密码
Retype new password: ##再次确认新密码
passwd: all authentication tokens updated successfully.
由于密码登录需要输入服务器密码,这非常麻烦,也不安全,存在被暴力破解的风险。我们推荐使用证书登陆服务器。
1.客户端生成证书:私钥和公钥,然后私钥放在客户端,妥当保存,客户端在生成私钥时,会设置一个密码,以后每次登录ssh服务器时,客户端都要输入密码解开私钥。
2.服务器添加信用公钥:把客户端生成的公钥,上传到ssh服务器,添加到指定的文件中,这样,就完成ssh证书登录的配置了。
假设客户端想通过私钥要登录其他ssh服务器,同理,可以把公钥上传到其他ssh服务器。
在CVM运行命令
ssh-keygen -t rsa
假设用户是root,执行 ssh-keygen 时,会在/root/.ssh/id_rsa这个目录里面产生所需要的两把 Keys ,分别是私钥 (id_rsa) 与公钥 (id_rsa.pub)。
使用cat id_rsa.pub >> ~/.ssh/authorized_keys
ssh服务器配置如下
vim /etc/ssh/sshd\_config
RSAAuthentication yes
AuthorizedKeysFile .ssh/authorized\_keys
wq 保存配置
systemctl restart sshd.service 重启服务
使用sz id_rsa 将私钥导出到本地,妥善保管
配置Xshell使用密钥认证方式登录
新建一个连接会话
切换到用户身份验证界面,选择为证书登录模式,选择刚才生成的密钥,如果对密钥设置了密码,还要在密码框这里输入密码。完成配置后,点击确定即可。
这样,就可以使用Xshell进行证书登录了
打开putty,在 Connection -> SSH -> Auth 的Private key file for authentication 选项处选择刚刚保存的私钥文件。
在 Connection -> Data -> Auto-login username 处填入登录的需要的用户名
之后再次登录就可以使用证书登录全自动登录了。
#通过测试可以使用证书登录,在CVM上禁用密码登录
vim /etc/ssh/sshd\_config
PasswordAuthentication no ##禁用密码登录
wq 保存配置
systemctl restart sshd.service ##重启服务
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。