赞
踩
由于centos的停止更新,公司要求系统部署在欧拉上,用的人少,导致错误不好解决,今天使用finalshell连接服务器时出错,一想应该是ssh导致连不上,于是进行以下操作。
切记!不要直接安装ssh。先检查本机电脑上是否有ssh。
- [root@localhost ~]$ rpm -qa | grep ssh
- libssh-0.9.6-7.oe2203sp2.x86_64
- openssh-8.8p1-20.oe2203sp2.x86_64
- openssh-server-8.8p1-20.oe2203sp2.x86_64 //服务端
- libssh2-1.10.0-5.oe2203sp2.x86_64
- openssh-clients-8.8p1-20.oe2203sp2.x86_64 //客户端
此处,.oe2203表明我下载的是欧拉22.03版本,前面是各个包的版本。如果有以上文件,证明服务器上有ssh。
- yum install openssh-server-8.8p1-20.oe2203sp2.x86_64 //服务端
- yum install openssh-clients-8.8p1-20.oe2203sp2.x86_64 //客户端
# yum install openssh*
一般网上会让你修改ssh_config!但因为是服务端,所以修改sshd_config的配置。ssh_config是客户端的配置文件!笔者因为是新手所以在这里浪费了很多时间。
仅对以下部分作修改:
- #输入指令:vim /etc/ssh/sshd_config
- PermitRootLogin yes
- PasswordAuthentication yes
- PermitEmptyPasswords no
- Port 22
- 以上配置前原本都是有#的,这是注释的意思,把前面的#去掉就好
- #如果是第一次,则启动ssh服务
- systemctl start sshd.service
- #设置为开机自启
- systemctl enable sshd.service
- #如果之前已经启动过ssh服务,则重启ssh服务
- systemctl restart sshd
6.错误排查(仅教方法,以本人所碰到的问题为例,授人以渔)
本人遇到报错,提示让我输入systemctl status sshd -l查询问题,输入后发现一脸懵逼。出现以下场景:
从这个图里面可以获取的信息:active:activating 证明ssh服务是在跑的,但是11718这个有异常,所以开始排查,输入以下指令:
sshd -t
根据提示,说明sshd_config 第160行有报错。输入:
vim /etc/ssh/sshd_config
一直下拉到160行,对应为:PubkeyAcceptedKeyTypes,这是加密方式,一种可能是后面跟的加密方式有问题,在后面自行补充或删除。
另一种就是我这种输入的变量名不合法:我发现有人把Ciphers移动到了 上一行,导致Ciphers未生效,于是回车将其还原至原有位置。
重新输入 sshd -t,发现仍有报错,发现是ciphers有问题,报:bad ssh2 cipher spec
输入:ssh -q cipher 会告诉你现在有哪些使用的ciphers,将原有的ciphers行注释,另起一行输入查询结果。后续若报Mac的错误同理,输入ssh -q mac 后将原有Macs注释,另起一行输入查询结果后Esc退出wq保存。
- #Cipher 原有的数据
- Cipher 输入查询结果,以逗号隔开
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。