centos7安装配置ssh

一、SSH简介

SSH 为 Secure Shell 的缩写,SSH 是建立在应用层基础上的安全协议,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。
SSH是由客户端和服务端的软件组成的,有两个不兼容的版本分别是:1.x和2.x。 用SSH 2.x的客户程序是不能连接到SSH 1.x的服务程序上去的。OpenSSH 2.x同时支持SSH 1.x和2.x。

  • 服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。
  • 客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。客户端适用于多种平台。——以上摘自百度百科

二、安装SSH服务

在centos中登录root账号,使用命令rpm -qa | grep opensshyum list installed | grep openssh检查是否安装相应软件
在这里插入图片描述可以看到已经安装过了,在此为了演示安装,故先将其卸载,使用命令yum -y remove openssh openssh-server
在这里插入图片描述从上图可知,已经卸载完毕了
重新运行命令yum -y install openssh openssh-server安装openssh和openssh-server软件
在这里插入图片描述在这里插入图片描述
由上图可知,已安装成功

三、配置SSH

编辑文件,输入命令vi /etc/shh/sshd_config
在这里插入图片描述
打开文件后,输入/加上要查找的关键字,按下回车键就可以对文件内容进行查找了
如要查找Port则输入/Port,如下图:
在这里插入图片描述
然后按字母'n'进行向下查找 ,按字母'N'进行向上查找

对Port进行设置

查找到Port所在位置后,输入字母'i'对文件进行编辑,可将默认端口号22改为大于1023的任意端口号(因0-1023的端口号都是属于系统端口,尽量不要使用,免得与系统的某些服务冲突而导致服务无法正常运行),若是不更改则默认使用22端口
在这里插入图片描述

对AllowUsers进行设置

先使用命令cat /etc/passwd | grep -v /sbin/nologin查看可以登录系统的用户名有哪些
在这里插入图片描述
从上图可知都是系统用户,故需新建个新用户供SSH登录使用
1、新增用户
使用命令adduser + 用户名
2、设置新用户口令
使用命令passwd + 用户名
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190723110412223.pn
3、对新用户进行sudo授权
因个人创建的用户只能在各自的home目录下有完整的权限,其他目录均需要通过授权或使用root用户查看,而设置sudo权限则可以达到root用户的效果
①首先查找sudo所在文件,使用命令whereis sudoers
在这里插入图片描述
②查看root对该文件的权限,使用命令ls -l /etc/sudoers
在这里插入图片描述
从上图可知,root用户对该文件也只具有读权限没有写权限

③给root用户添加该目录的写权限,使用命令chmod -v u+w /etc/sudoers
在这里插入图片描述
④编辑sudoers文件,使用命令vi /etc/sudoer 搜索Allow
在这里插入图片描述
如上图所示,追加上新增用户用户名 ALL=(ALL) PASSWD:ALL(若要使用sudo的时候不需要输入密码,则输入用户名 ALL=(ALL) NOPASSWD:ALL),然后保存退出即可
⑤编辑文件后,需要将该文件的写权限进行回收,使用命令chmod -v u-w /etc/sudoers
在这里插入图片描述
查找到AllowUsers所在位置后,可修改后面的账号,从而设置仅允许某些用户账号可以使用SSH进行登录

设置是否允许root用户使用SSH登陆系统

因每一台linux都有个超级管理员用户root,故最好在SSH里面禁用掉使用root用户登录以保证系统的安全
在文件中搜索PermitRootLogin,设置不允许使用root登录:PermitRootLogin no(默认是yes
在这里插入图片描述

保存后启动SSH服务

使用命令systemctl start sshd.service启动ssh服务,结果报错
在这里插入图片描述
该问题的原因是SSH Port已经被修改了,但没有写进SELinux的设置中,故使用命令semanage port -a -t ssh_port_t -p tcp 在文件中设置的端口号,提示semanage:command not found
在这里插入图片描述说明尚未安装相应的软件,使用命令yum whatprovides /usr/sbin/semanage查看需要安装的软件包
在这里插入图片描述接着使用命令yum install policycoreutils-python -y安装相应的软件
在这里插入图片描述在这里插入图片描述由上图可知,已安装成功,再次执行命令semanage port -a -t ssh_port_t -p tcp 在文件中设置的端口号
在这里插入图片描述
已执行成功了,使用命令semanage port -l | grep ssh检查是否已经端口号添加成功(若是SSH默认端口未曾更改,则执行该命令只会显示默认端口号22)
在这里插入图片描述由图可知,相应端口号已添加成功了
接着使用命令firewall-cmd --permanent --zone=public --add-port=端口号/tcp设置防火墙允许该端口使用SSH登陆至服务器(若要设置只允许本机或某个网段通过指定的端口号才能通过SSH登陆系统,则使用命令firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="网络IP地址" port port="端口号" protocol="tcp" accept' --permanent
在这里插入图片描述
重新载入防火墙设置,使用命令firewall-cmd --reload
在这里插入图片描述启动SSH服务,使用命令systemctl start sshd.service并使用命令systemctl status sshd.service查看SSH服务的当前状态
在这里插入图片描述

测试

使用命令ssh -p 端口号 登陆账号@IP地址或主机名称,结果提示ssh:command not found
在这里插入图片描述说明没有安装相应的软件包,使用命令yum -y install openssh-clients
在这里插入图片描述再次执行命令ssh -p 端口号 登陆账号@IP地址或主机名称
在这里插入图片描述在这里插入图片描述
从上图可知,可以正常连接到SSH服务器了,执行sudo命令查看是否已可以正常使用
在这里插入图片描述
输入命令exit则可退出连接
在这里插入图片描述
也可以在Windows安装SSH客户端进行连接测试
在这里插入图片描述
以上,已完成了SSH服务器的安装与配置连接

四、连接后出现中文乱码的解决方法

如果在Windows上面使用SSH客户端连接到linux服务器后出现中文乱码,则在linux服务器上面编辑/etc/locale.conf文件,使用命令vi /etc/locale.conf
在这里插入图片描述
在其中加入LANG="zh_CN.gbk"语句保存退出即可
在这里插入图片描述
再次连接时已可以正常显示中文了
在这里插入图片描述

五、连接时容易掉线的解决方法

编辑文件,输入命令vi /etc/shh/sshd_config
在这里插入图片描述
打开文件后,输入“/Client”查找下面两行代码

ClientAliveInterval 0                  --即时发送数据
ClientAliveCountMax 3              --3秒没有响应断开连接

在这里插入图片描述
这两行代码的意思是:
1、客户端每隔多少秒向服务发送一个数据
2、客户端多少秒没有响应,服务器自动断开连接
将这两行代码更改为:

ClientAliveInterval 30						--每隔30s发送数据
ClientAliveCountMax 86400			--发送最大次数后没有响应则断开连接

在这里插入图片描述
输入命令:wq保存文件后,使用命令systemctl start sshd.service重启sshd服务
在这里插入图片描述

  • 15
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值