前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CVM LINUX SSH配置最佳实践

CVM LINUX SSH配置最佳实践

原创
作者头像
熊昪
修改2020-10-30 11:24:19
3K0
修改2020-10-30 11:24:19
举报
文章被收录于专栏:腾讯云安全专家服务

1.背景

随着云上用户的增多,安全事件层出不穷,根据分析大部分入侵是由于安全组对外开放敏感端口,且敏感端口存在弱口令造成。本次将介绍SSH服务配置的最佳实践。

2.密码登陆

大部分云用户是使用用户名和密码登陆SSH服务,这里对密码登陆有两个最佳实践

1.对于不需要登录的用户,将用户的权限设置为禁止登录

通过命令查询主机的可登陆用户

代码语言:txt
复制
grep -v 'nologin' /etc/passwd

可以看到该CVM有两个可以远程登陆的账号root和test。对test用户禁用SSH权限

a.编辑sshd_config

代码语言:txt
复制
vi /etc/ssh/sshd_config在这个文件里面的最后一行加上这个

b.配置阻止用户

代码语言:txt
复制
DenyUsers test  # Linux系统账户 

说明:如果文件里已经有DenyUsers,则只需修改DenyUsers的值就可以了。

c.重启ssh服务器

代码语言:txt
复制
service sshd restart #centos6使用此命令
代码语言:txt
复制
systemctl restart sshd.service  #centos7使用此命令

2.配置用户强密码

a.服务器设置大写、小写、特殊字符、数字组成的20位的复杂密码 ,也可使用密码生成器自动生成复杂密码,这里给您一个链接参考: https://1password.com/zh-cn/password-generator/

b.Linux修改密码用 passwd 命令,用root用户运行passwd ,passwd user_name可以设置或修改任何用户的密码,普通用户运行passwd只能修改它自己的密码。

代码语言:txt
复制
[root@localhost ~]# passwd    ##修改root用户密码
代码语言:txt
复制
Changing password for user root..
代码语言:txt
复制
New password:    ##输入新密码
代码语言:txt
复制
Retype new password:     ##再次确认新密码
代码语言:txt
复制
passwd: all authentication tokens updated successfully.
代码语言:txt
复制
[root@localhost ~]# passwd test    ##修改test用户密码
代码语言:txt
复制
Changing password for user hadoop.
代码语言:txt
复制
New password:    ##输入新密码
代码语言:txt
复制
Retype new password:    ##再次确认新密码
代码语言:txt
复制
passwd: all authentication tokens updated successfully.

3.使用证书登陆

由于密码登录需要输入服务器密码,这非常麻烦,也不安全,存在被暴力破解的风险。我们推荐使用证书登陆服务器。

1. 证书登录的步骤

1.客户端生成证书:私钥和公钥,然后私钥放在客户端,妥当保存,客户端在生成私钥时,会设置一个密码,以后每次登录ssh服务器时,客户端都要输入密码解开私钥。

2.服务器添加信用公钥:把客户端生成的公钥,上传到ssh服务器,添加到指定的文件中,这样,就完成ssh证书登录的配置了。

假设客户端想通过私钥要登录其他ssh服务器,同理,可以把公钥上传到其他ssh服务器。

2.在CVM建立私钥和公钥

在CVM运行命令

代码语言:txt
复制
ssh-keygen -t rsa

假设用户是root,执行 ssh-keygen 时,会在/root/.ssh/id_rsa这个目录里面产生所需要的两把 Keys ,分别是私钥 (id_rsa) 与公钥 (id_rsa.pub)。

3.CVM将公钥添加到authorized_keys

使用cat id_rsa.pub >> ~/.ssh/authorized_keys

4.配置sshd_config

ssh服务器配置如下

代码语言:txt
复制
vim /etc/ssh/sshd\_config

RSAAuthentication yes

这里指定公钥的目录

代码语言:txt
复制
AuthorizedKeysFile .ssh/authorized\_keys

wq 保存配置

systemctl restart sshd.service 重启服务

使用sz id_rsa 将私钥导出到本地,妥善保管

5.使用客户端shell进行测试

Xshell

配置Xshell使用密钥认证方式登录

新建一个连接会话

切换到用户身份验证界面,选择为证书登录模式,选择刚才生成的密钥,如果对密钥设置了密码,还要在密码框这里输入密码。完成配置后,点击确定即可。

这样,就可以使用Xshell进行证书登录了

Putty

打开putty,在 Connection -> SSH -> Auth 的Private key file for authentication 选项处选择刚刚保存的私钥文件。

Connection -> Data -> Auto-login username 处填入登录的需要的用户名

之后再次登录就可以使用证书登录全自动登录了。

6.关闭密码登陆

#通过测试可以使用证书登录,在CVM上禁用密码登录

代码语言:txt
复制
vim /etc/ssh/sshd\_config

PasswordAuthentication no  ##禁用密码登录

wq 保存配置

systemctl restart sshd.service      ##重启服务

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.背景
  • 2.密码登陆
    • 1.对于不需要登录的用户,将用户的权限设置为禁止登录
      • a.编辑sshd_config
      • b.配置阻止用户
      • c.重启ssh服务器
    • 2.配置用户强密码
    • 3.使用证书登陆
      • 1. 证书登录的步骤
        • 2.在CVM建立私钥和公钥
          • 3.CVM将公钥添加到authorized_keys
            • 4.配置sshd_config
            • 这里指定公钥的目录
              • 5.使用客户端shell进行测试
                • Xshell
                • Putty
              • 6.关闭密码登陆
              相关产品与服务
              云服务器
              云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档