ssh

大城市里の小女人 提交于 2020-02-26 04:54:12

SSH的英文全称是Secure SHell
SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的“通道”。
SSH在Linux中的服务是sshd,安装openssh后才可开启。CentOS 7 安装后默认情况下是不启动sshd服务,即无法通过ssh服务远程连接。

首先查看系统是否安装openssh,一般情况想都是默认安装了,
[root@localhost ~]# rpm -qa | grep ssh
libssh2-1.4.3-10.el7.x86_64
openssh-server-6.6.1p1-22.el7.x86_64
openssh-clients-6.6.1p1-22.el7.x86_64
openssh-6.6.1p1-22.el7.x86_64
如果没有安装可以通过yum在线安装。
[root@localhost ~]# yum install openssh

手动设置启动ssh服务,这样做比较快捷直接,但是只能对当前状态有效,一旦重启系统就丢失了该服务。
[root@localhost ~]# systemctl start sshd
[root@localhost ~]# systemctl status sshd

设置自动启动ssh服务
通过systemctl命令可以将sshd服务加到开机自启动列表里。实现开机自动启动sshd服务。
[root@localhost ~]# systemctl enable sshd
修改ssh监听端口
在sshd_config文件中存放了端口、控制策略等信息。
[root@localhost ~]# vi /etc/ssh/sshd_config
首先修改端口,端口设置为自定义端口,即1024之后的端口,这里设置为8090。
port 8090
禁止空密码用户登录。
PermitEmptyPasswords no
开启密码登录授权(默认即开启)
PasswordAuthentication yes
禁止root账户使用ssh登录,这种设置通常用于互联网服务器,防止提权后用root账户登录搞破坏。
PermitRootLogin no
修改端口的时候需要添加到防火墙的控制中,否则无法使用ssh连接。
[root@localhost ~]# semanage port -l | grep ssh #查看当前ssh服务监听的端口
ssh_port_t tcp 22
[root@localhost ~]# semanage port -a -t ssh_port_t -p tcp 8090 #增加监听端口8090
[root@localhost ~]# semanage port -l | grep ssh
ssh_port_t tcp 8090,22
semanage只是端口工具,修改防火墙只能使用firewall-cmd
[root@localhost ssh]# yum provides firewall-cmd #查找防火墙工具所在的包
[root@localhost ssh]# yum -y install firewalld #安装防火墙工具
[root@localhost ssh]# systemctl start firewalld #启动防火墙服务
[root@localhost ssh]# systemctl status firewalld #查看防火墙状态
[root@localhost ssh]# firewall-cmd –zone=public –add-port=8090/tcp –permanent #防火墙中允许8090端口通过
[root@localhost ssh]# semanage port -m -t ssh_port_t -p tcp 8090 #将ssh服务修改为8090端口
[root@localhost ssh]# firewall-cmd –zone=public –remove-port=22/tcp –permanent #删除22端口
[root@localhost ssh]# firewall-cmd –reload #重新加载防火墙服务配置

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!