怎么一步步自建CentOS7 Minimal平台部署SSH远程登陆


    首先,你得下载一个CentOS7 Minimal的镜像,我是在官网下载的

https://www.centos.org/download/

随手拿了个空U盘,比较小,所以决定下载CentOS7 Minimal。

安装U盘装机的助手,此处可以自行百度,我用的是UltraISO,界面简洁,软件小巧。可以选择试用!

centos7允许普通用户远程登录 centos7怎么远程登录_centos


 选择文件--》打开

centos7允许普通用户远程登录 centos7怎么远程登录_ssl_02


选取已下载的ISO镜像文件,导入U盘所在的盘符。U盘操作系统制作完成。

找一台被淘汰的服务器,插入U盘,修改BIOS为U盘启动,重启电脑,进入安装操作系统界面。 

centos7允许普通用户远程登录 centos7怎么远程登录_网络安全_03

centos7允许普通用户远程登录 centos7怎么远程登录_网络安全_04

选择安装的位置,可以将选择的安装位置格式化再装。

centos7允许普通用户远程登录 centos7怎么远程登录_网络安全_05

这里我默认配的DHCP,给设备设置一个主机名。然后创建root密码和创建账号,进系统后再建账号也行。按流程下一步,进系统,输root密码登录。连接网络,我这里选的就是可以DHCP上网的网络。进入后先ping www.baidu.com通了,OK网络连接成功。接下来开启配置。

一、更新系统,装好软件

yum -y update 升级更新

yum list installed | grep openssh看是否装了openssh

yum install openssh-server 安装openssh

配置SSH配置文件

vi /etc/ssh/sshd_config

centos7允许普通用户远程登录 centos7怎么远程登录_网络安全_06

 

PermitRootLogin yes

AllowUsers root test   新建账号test允许登陆服务器

PasswordAuthentication yes   允许密码登录

#UsePAM yes  CentOS7 Minimal默认开启了PAM,建议取消

开启  sshd  服务,输入 sudo service sshd start

检查  sshd  服务是否已经开启,输入ps -e | grep sshd或者输入netstat -an | grep 22  检查  22 号端口是否开启监听,为了免去每次开启 CentOS 时,都要手动开启  sshd 服务,可以将 sshd 服务添加至自启动列表中,输入systemctl enable sshd.service,可以通过输入systemctl list-unit-files | grep sshd,查看是否开启了sshd 服务自启动

二、添加删除允许的IP段,对访问服务的IP段做限制

/etc/hosts.allow添加

sshd:192.168.0.1:allow  #允许 192.168.0.1 这个IP地址SSH登录

sshd:192.168.0.:allow #允许192.168.0.1/24这段IP地址的用户登录,多个网段可以以逗号隔开,比如192.168.0.,192.168.1.:allow

/etc/hosts.allow添加

sshd:ALL #允许全部的ssh登录

hosts.allow和hosts.deny两个文件同时设置规则的时候,hosts.allow文件中的规则优先级高,按照此方法设置后服务器只允许192.168.0.1这个IP地址的SSH登录,其它的IP都会拒绝。

/etc/hosts.deny添加

sshd:ALL #拒绝全部IP

三、配置IP,有两种方式(1)动态获取IP(2)静态获取IP

先看哪个网卡在用 ip addr

centos7允许普通用户远程登录 centos7怎么远程登录_网络安全_07

cd /etc/sysconfig/network-scripts

ls

可找到你的网卡,通过vi 进入编辑

(1)动态方式

动态获取IP地址需要修改两处地方即可

(1)bootproto=dhcp

(2)onboot=yes

centos7允许普通用户远程登录 centos7怎么远程登录_ssl_08

修改后重启一下网络服务即可 systemctl restart network

(2)静态方式

(1)bootproto=static

(2)onboot=yes

(3)在最后加上几行,IP地址、子网掩码、网关、dns服务器,根据实际情况进行配置。

IPADDR=192.168.1.160

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS1=119.29.29.29

DNS2=8.8.8.8

(4)重启网络服务

systemctl restart network
  • 检查防火墙22端口

利用systemctl工具,检查是否已开启sshd、firewalld的开机自启服务。若无,则:开启sshd、firewalld服务的开机自启

systemctl enable sshd

systemctl list-unit-files | grep sshd

systemctl enable firewalld[.service]

systemctl list-unit-files | grep firewall

查看防火墙状态

firewall-cmd --state

查看防火墙规则

firewall-cmd --list-all

开放端口

firewall-cmd --permanent --add-port=80/tcp

移除端口

firewall-cmd --permanent --remove-port=8080/tcp

关闭

service firewalld stop

启用/禁用 开机自启

systemctl enable/disable firewalld.service

五、关闭selinux

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

然后,保存并退出文件,为了使配置生效,需要重新启动系统,然后使用sestatus命令检查SELinux的状态。

OK,通过远程测试下能否SSH登陆,大功告成!