CentOS7架设并配置openssh服务器

-----------------------------
sshd工具相关

修改sshd的端口:
vi /etc/ssh/sshd_config

修改里面的端口号(或新加一行,使用p键直接复制一行)。
修改为:2222

保存退出后,重启sshd
systemctl restart sshd


修改防火墙端口
# firewall-cmd --permanent --add-port=2222/tcp
# firewall-cmd --permanent --add-port=2222/udp
# firewall-cmd --reload
--
推荐的一种强化ssh安全的策略就是只允许使用证书登录ssh,下面介绍配置方法以及如何使用。


生成私人密钥
下载puttyfile_0.60en.zip文件,打开压缩包里的puttygen.exe文件,点击“生成”按钮,并在进度表的下面空白处随机移动鼠标,等生成私钥完成。
修改密钥注释和密码。
然后,点击“保存私钥”,保存好私钥文件。这时不要关闭密钥生成器。
将密钥生成器“显示的公钥()由OpenSSH认可”一行文字下面的框区域中的内容,拷贝出来并保存到新建文件“authorized_keys”中。

创建.ssh/authorized_keys
以root身份,登录linux系统,创建~/.ssh/文件夹,将本地文件“authorized_keys”,上传到文件夹“~/.ssh/”下。

设置putty实现用证书登录
Putty→Session:将Host Name(Or IP Address)填好
Putty→Connection→Date:填好Auto-login username(自动登陆用户名)
Putty→Connection→SSH→Auth:在Private key file for authentication选择认证私钥文件
回到Putty→Session:Saved Session,填个名称保存下吧,下次直接双击名称就可以登录了.


取消密码认证登录
为了进一步增强安全,现在设置禁止使用密码登录
编辑/etc/ssh/sshd_config文件,更改为以下设置。
PasswordAuthentication no
重启sshd服务。


如果需要更安全,可以禁止root登录
PermitRootLogin no


但是,前提是需要建立一个普通用户,并且设置这个普通用的sudo权限,具有和root相同的效果才可以。否则就悲剧了。^_^.


另:注意:如果证书不生效,则有可能是selinux的权限不通过引起的。
检查.ssh文件夹标签是否是“ssh_home_t”,
检查authorized_keys文件的标签是否是“user_home_t”,
否则selinux是不允许访问的。
# ls -laZ


# chcon -t ssh_home_t .ssh
# chcon -t user_home_t authorized_keys


参考资料:https://www.centos.bz/2012/02/strengthen-ssh-security-login-with-certificate/






你可能感兴趣的:(CentOS7架设并配置openssh服务器)