文章目录

  • 参考文章
  • 流程
  • 1. 检查是否已安装
  • 2. 更改配置参数
  • 3. 更改访问规则
  • 4. 更改防火墙和SELinux设置
  • 5. 固定虚拟机的局域网IP
  • 6. 路由器配置
  • 完成


参考文章

centOS ssh配置

流程

1. 检查是否已安装

rpm -qa |grep ssh

CentOS 7默认安装了,若未安装则使用

yum install ssh

2. 更改配置参数

vi /etc/ssh/sshd_config

更改端口号:
在17行把注释符#去掉,然后改为你设定的数字,不改的话默认22,最好改掉
下面以端口号为1111说明
更改完以后重启一下sshd服务

systemctl restart sshd

然后看下是否生效了

netstat -ntulp |grep 1111

看到sshd…Listening则生效

3. 更改访问规则

vim /etc/hosts.allow

末尾添加你允许访问本机的ip地址,如
多条记录不要加分号

sshd:192.168.1.2
sshd:192.168.1.3

注意前面不能有注释符#
然后添加拒绝规则为全部

vim /etc/hosts.deny

在最后一行添加

sshd:All

这样有ssh请求时,系统先检查是否为允许的ip,如果是则直接放行;若不在hosts.allow文件中,则去检查是否在hosts.deny中,若在则拒绝连接,相当于白名单和黑名单

4. 更改防火墙和SELinux设置

firewalld

firewall-cmd --zone=public --add-port=1111/tcp --permanent

因为CentOS 7有SELinux,所以也要做相应改动

semanage port -a -t ssh_port_t -p tcp 1111

然后重启一下firewalld

systemctl restart firewalld

5. 固定虚拟机的局域网IP

在WiFi设置那把DHCP换为手动,然后写死为一个固定的局域网IP

centos7 ssh命令 centos7 ssh配置_centos7 ssh命令

6. 路由器配置

你的路由器有可能使用的是运营商级的NAT地址
比如100.64.XXX.XXX 100.69.xxx.xxx这种情况就找客服吧

打电话到10000,按4键报修,然后输入1#,接通以后和她说换公网IP就行了

我的虚拟机使用了一张外接的无线网卡接入到AP,和实机基本没什么区别了,所以直接配置端口映射就行,如果是使用NAT的话稍微麻烦点
访问192.168.1.1然后配置
如下:

centos7 ssh命令 centos7 ssh配置_bc_02


局域网IP即写死的虚拟机IP,内部端口写虚拟机的SSH端口,也即之前配置的1111,外部端口是路由器端口,写成一样的1111也可以

完成

以账户abc连接到指定的主机和端口

ssh -p 路由器端口 abc@路由器公网IP

路由器会把请求转发给对应的虚拟机SSH端口
然后输入abc的密码即可

在服务器上可使用

who /var/log/wtmp

检查登录日志和登录IP