您的位置:首页 > 运维架构 > Linux

CentOS7(linux)中ssh服务配置

2017-12-15 00:14 183 查看

CentOS7(linux)中ssh服务配置

我采用的是Vmware安装的CentOS7系统.

一、首先确认系统中是否安装了ssh服务

一般来说,CentOS7系统会自带ssh服务,不需要安装,当然我们还是要检查一下系统是否安装ssh服务,命令如下:

rpm -qa |grep ssh


如果系统已经有ssh服务结果如下:



二、如果系统中不存在ssh服务

ssh安装命令如下:

yum install ssh


我的是系统自带的,所以此处不截图了。


三、配置sshd_config

ssd_config是sshd服务的配置文件,可在其中配置参数,登陆用户等,文件位置位于/etc/ssh/sshd_config,这里可以直接通过vi(不会vi编辑的自己查)命令打开文件进行主要参数的配置(把对应参数前面的警号去掉就可以了):

1、Port 22,sshd服务的端口

2、Protocol 2,也就是外部连接的协议用ssh2,当然如果不设置也可。

3、PermitRootLogin no/yes,如果允许使用root登陆则设为yes,否则为no

4、PasswordAuthentication no/yes,no为不允许使用密码登陆,yes为允许使用密码登陆,一般如果用自己账户登录都用密码,所以这一项最好设为yes,否则会导致window中能ping通linux系统,但是ssh连接不上。

设置好后保存退出。

注:需要的vi命令如下:

vi /ect/ssh/sshd_config  //打开文件
按i键 //进入vi编辑模式,能够更改文件
esc  //编辑完文件后按esc退出编辑模式
shift+: //可以输入退出命令
q! //退出不保存
wq //退出并保存


四、启动/重启ssh服务

启动命令为:

/bin/systemctl restart sshd.service //这是我用的重启命令
/bin/systemctl start sshd.service //这是我用的启动命令

service sshd restart //这个是网上其他人说的,我试了一下不行
service sshd start //这个是网上其他人说的,我试了一下不行


五、启动以后查看是否打开了服务

查看服务命令为:

netstat -antup|grep ssh


启动成功后结果如下,一般我们外部连接都是tcp协议的,可以看到我们当前能连接的用户、连接地址和端口号。



六、配置防火墙

由于CentOS7防火墙默认的是firewall,网上许多人说改成iptables(如果是用iptables的自己配置)。

首先,我们查看ssh所用的端口是否已经打开,这里我已22端口为例:

firewall-
4000
cmd --state //查看防火墙是否打开,打开为running
firewall-cmd --zone=public --query-port=22/tcp //端口如果开放则为yes,否则为no


如果22端口没有开放,我们可以用以下两种方法解决:

1、关闭防火墙:/bin/systemctl stop firewalld.service

2、开放22端口:

firewall-cmd --zone=public --add-port=22/tcp --permanent   //添加(--permanent永久生效,没有此参数重启后失效)
firewall-cmd --reload //添加完成后要重新载入
firewall-cmd --zone= public --query-port=22/tcp //查看


七、外部用secureCRT连接

这里我们用SecureCRT连接,当然自己可以选择shell或者putty等软件,

连接时需要注意,虚拟机装的Linux系统,如果是本机以外的电脑要连接的话需要配置实际的物理地址(当然只用本机连接不需要),配置实际物理地址只需要把虚拟机设置里的网络适配器改为桥接模式,然后重启即可。

八、总结

虚拟机的Linux系统ssh服务连接总的来说4个关键点:1、ssh服务是否启动,2、防火墙是否开放端口,3、是否又实际的物理网址。4、sshd_config中的相关参数是否配置。

欢迎指出不足,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: