怎么一步步自建CentOS7 Minimal平台部署SSH远程登陆
首先,你得下载一个CentOS7 Minimal的镜像,我是在官网下载的
https://www.centos.org/download/
随手拿了个空U盘,比较小,所以决定下载CentOS7 Minimal。
安装U盘装机的助手,此处可以自行百度,我用的是UltraISO,界面简洁,软件小巧。可以选择试用!
选择文件--》打开
选取已下载的ISO镜像文件,导入U盘所在的盘符。U盘操作系统制作完成。
找一台被淘汰的服务器,插入U盘,修改BIOS为U盘启动,重启电脑,进入安装操作系统界面。
选择安装的位置,可以将选择的安装位置格式化再装。
这里我默认配的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
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
cd /etc/sysconfig/network-scripts
ls
可找到你的网卡,通过vi 进入编辑
(1)动态方式
动态获取IP地址需要修改两处地方即可
(1)bootproto=dhcp
(2)onboot=yes
修改后重启一下网络服务即可 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登陆,大功告成!