去评论
dz插件网

CentOS Stream 9 SSH SFTP 入坑的那些事 Their offer: ssh-rsa ,Their offer: ssh-dss , error in libcry

镖师
2023/04/23 19:45:42
从liunx CentOS7.9 换到liunx CentOS Stream 9最让人烦恼的不是命令不同而是官方弃用了一些加密方式,导致liunx CentOS Stream 9(下面简称liunx 9)做为ssh客户端或者sftp客户端时,直接报错。报错大致信息如下
  1. Unable to negotiate with X.X.X.X port 22: no matching host key type found. Their offer: ssh-dssConnection closed.  Connection closed
或者如下
  1. Unable to negotiate with 192.168.11.2 port 22: no matching host key type found. Their offer: ssh-rsaConnection closed.  Connection closed
又或者提示服务器端口拒绝了你的请求
又或是 Could not resolve hostname
又或是
  1. ssh_dispatch_run_fatal: Connection to x.x.x.x port 9501: error in libcrypto
遇到的问题太多,一路解决过去,大体记得的就这些。下面说说解决办法
7.9和9 SSH SFTP 最大的区别在于,在用户目录下的 .ssh 目录下,多了一个config的文件,如果没有上面的这些鬼问题,刚安装后,便会有。
因为我将所有用户的主目录,全将定位到了/home/目录下,所以下面的信息,会和新安装的位置有区别默认的位置在/boot/.ssh下面,注意9以经将vim改为vi
  1. vi /home/root/.ssh/config
config文件配置信息如下
  1. Host x.x.x.xHostName x.x.x.xServerAliveInterval 10User user_namePort 22HostKeyAlgorithms +ssh-dssPubkeyAcceptedKeyTypes +ssh-dss#HostName DESKTOP-I3NFICNHost x.x.x.xHostName x.x.x.xUser user_namePort 22ServerAliveInterval 10HostKeyAlgorithms +ssh-rsaPubkeyAcceptedKeyTypes +ssh-rsa
配置信息说明

x.x.x.x为登录服务器的IP
user_name为用户名
Port 登录端口
HostKeyAlgorithms ,  PubkeyAcceptedKey 为服务器的加密方式
因为我有二台,所以就有两类(空行分开的上下部份)
如果有多台,需要在最后面,按照实际情况增加

因为管方将1024长度的加密证书在ssh 8.7中弃用,老系统不方便升级,只能降低点安全,在 liunx 9 上执行下面的命令(error in libcrypto)
  1. update-crypto-policies –set DEFAULT:SHA1
最后可能还会遇到hostname 之类的报错,修改host文件即可解决。
  1. vi /etc/hosts
  1. 127.0.0.1   localhost   localhost  localhost4 localhost4.localdomain4::1         localhost   localhost  localhost6 localhost6.localdomain6x.x.x.x   x.x.x.xx.x.x.x   x.x.x.x
x.x.x.x 为iip地址