一、主要教程:
遇到的一些报错解决办法:(这些按照上面的主教程应该不会出现,这是按照其他教程才会出现,但是是有效的解决办法也一并记录)
1.报错内容:
Operating system: x86_64-whatever-linux2
You need Perl 5
解决教程:https://blog.csdn.net/qq_44534541/article/details/124667091
2.报错内容:
crypto/comp/c_zlib.c:35:19: fatal error: zlib.h: No such file or directory
执行:sudo yum install zlib-devel
3.报错内容:
Use which C compiler? [cc]
./trygcc:行10: cc: 未找到命令
Uh-oh, the C compiler 'cc' doesn't seem to be working.
./trygcc:行25: gcc: 未找到命令
./checkcc:行10: cc: 未找到命令
解决方法:yum install gcc
4.报错内容:
“configure: error: *** working libcrypto not found, check config.log”
解决方法:https://www.cnblogs.com/wholj/p/10944407.html额外记录:因为要用到yum,有时候yum是不好使的
更新yum 1. 备份当前的YUM源配置文件 sudo cp -r /etc/yum.repos.d /etc/yum.repos.d.bak 3. 下载新的YUM源配置文件(以阿里云YUM源为例) sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 4. 清理YUM缓存并生成新的缓存 sudo yum clean all sudo yum makecache
快捷复制
# 安装vim yum install vim # 查看ssh版本 ssh -V openssl version
二、安装完后因为SELinux安全策略问题可能导致无法连接(安装完成后记得先重新打开一个窗口连接成功在关闭当前,否则可能再也连不上了):
1. 临时解决(不推荐长期使用)
# 可以将 SELinux 设置为 permissive 模式,这样在系统运行期间 SELinux 不会强制执行策略 sudo setenforce 0 # 再次确认是否是 SELinux阻止SSH 相关操作 # 临时允许所有与 SSH 服务相关的操作,以确定是否是 SELinux 策略限制导致的问题。 sudo semanage permissive -a sshd_t # 移除允许模式 sudo semanage permissive -d sshd_t
2.永久解决
1.创建策略模块文件
vi sshd_custom_refined.te
# 使用文本编辑器创建一个名为 sshd_custom_refined.te 的文件,并添加以下内容:
module sshd_custom_refined 1.0;
require {
type sshd_t;
type shadow_t;
class file { read getattr open };
}
allow sshd_t shadow_t:file { read getattr open };2.创建策略模块文件
# 如果执行下面出现 -bash: checkmodule: 未找到命令 sudo yum install policycoreutils-python # 编译策略模块(此命令会对 sshd_custom_refined.te 文件进行语法检查并生成一个中间模块文件) checkmodule -M -m -o sshd_custom_refined.mod sshd_custom_refined.te # 打包策略模块(该命令会将中间模块文件打包成最终可加载的策略模块文件 sshd_custom_refined.pp) semodule_package -o sshd_custom_refined.pp -m sshd_custom_refined.mod # 加载策略模块 sudo semodule -i sshd_custom_refined.pp """下边不是必做步骤"" # 验证策略效果(记得改回强制模式,前面的 临时允许所有与 SSH 服务相关的操作 也关闭掉) sudo setenforce 1 sudo semanage permissive -d sshd_t # 移除旧的策略模块(如果已安装) sudo semodule -r sshd_custom_refined # 安装新的策略模块 sudo semodule -i sshd_custom_refined.pp # 确认模块是否已安装(如果执行该命令后没有任何输出,那就说明 sshd_custom_refined 策略模块确实没有安装) sudo semodule -l | grep sshd_custom_refined
二、升级完成后root会无法登录的解决办法
# 打开 sshd 配置文件 vi /etc/ssh/sshd_config # 在最后添加如下内容 # 允许 root 用户通过 SSH 远程登录 PermitRootLogin yes # 启用 SSH 公钥认证方式 PubkeyAuthentication yes # 启用 SSH 密码认证方式 PasswordAuthentication yes # 或者添加新的普通用户(myUsername替换成用户名,myPassword替换成密码) sudo useradd myUsername sudo passwd myPassword
三、安装openssl头库文件不一致的问题
# 当执行openssl version 提示(正常不应该显示Library) OpenSSL 1.1.1u 30 May 2023 (Library: OpenSSL 1.1.1o 3 May 2022) #解决办法 #修改 /etc/profile 文件(针对所有用户) # 1. 打开 /etc/profile 文件 sudo vim /etc/profile # 2. 在文件末尾添加以下两行: export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH export PATH=/usr/local/openssl/bin:$PATH # 3. 配置立即生效,执行以下命令 source /etc/profile
三、后续又升级到了9.8p1,只需要下载的地址换成9.8p1就行了
wget https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-9.8p1.tar.gz