文章目录
- 参考文章
- 流程
- 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
6. 路由器配置
你的路由器有可能使用的是运营商级的NAT地址
比如100.64.XXX.XXX
100.69.xxx.xxx
这种情况就找客服吧
打电话到10000,按4键报修,然后输入1#,接通以后和她说换公网IP就行了
我的虚拟机使用了一张外接的无线网卡接入到AP,和实机基本没什么区别了,所以直接配置端口映射就行,如果是使用NAT的话稍微麻烦点
访问192.168.1.1然后配置
如下:
局域网IP即写死的虚拟机IP,内部端口写虚拟机的SSH端口,也即之前配置的1111,外部端口是路由器端口,写成一样的1111也可以
完成
以账户abc连接到指定的主机和端口
ssh -p 路由器端口 abc@路由器公网IP
路由器会把请求转发给对应的虚拟机SSH端口
然后输入abc的密码即可
在服务器上可使用
who /var/log/wtmp
检查登录日志和登录IP