openssh升完级后普通用户执行ssh报错 root用户一切正常

博客讲述了在升级OpenSSH后,普通用户遇到SSH登录报错,找不到libcrypto.so.1.1库的问题。经过排查,发现是openssl安装时的链接问题。通过重新安装openssl并创建正确的软链接解决了问题。详细步骤包括删除旧文件、编译安装openssl以及创建必要的动态库链接。

openssh升完级后普通用户执行ssh报错 root用户一切正常

看下图

root状态下一切正常 ssh登录也没有问题
在这里插入图片描述
普通用户状态下就会报没有 libcrypto.so.1.1
在这里插入图片描述
根据这个情况,我开始的思路是权限问题,然后想的是软链接问题。但是试过后都不行,还是没有解决,依旧是报普通用户还是访问不到动态库。最后重装了openssl才解决要在openssl装完后就给软链接 下面是步骤

#删除现有文件
rm -rf /usr/local/openssl
rm -rf openssl-1.1.1g
tar zxf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config --prefix=/usr/local --shared
make
make test
make install
openssl version
#执行完这一步如果显示没有 libcrypto.so.1.1文件的话就直接执行下面软链接
ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
openssl version
ssh -V

这问题比较少见 一般是安装openssl时没有正确链接对文件造成的。有其他问题可以留言 相互讨论学习。

使用 SSH 上传文件时遇到报错,可能的原因包括权限配置错误、SSH 服务未正常运行、密钥配置不正确或目录路径不存在等。以下是基于相关引用内容整理的解决方法[^1][^4]: ### 检查并启动 SSH 服务 确保远程服务器上已安装并启动了 `openssh-server`。可以使用以下命令检查 SSH 服务状态: ```bash ps -e | grep ssh ``` 如果发现 SSH 没有安装,执行以下命令进行安装: ```bash sudo apt-get install openssh-server ``` 安装完成后,确认 SSH 是否已经启动: ```bash /etc/init.d/ssh status ``` 如果没有启动,运行以下命令启动服务: ```bash /etc/init.d/ssh start ``` --- ### 配置 SSH 权限和密钥 如果使用密钥方式进行 SSH 登录或文件传输(如通过 `scp` 或 `sftp`),请确保本地 `.ssh` 目录及私钥文件的权限设置正确。具体步骤如下: #### 创建 `.ssh` 目录(如不存在) ```bash mkdir ~/.ssh ``` #### 设置 `.ssh` 目录权限 ```bash chmod 700 ~/.ssh ``` #### 生成 SSH 密钥对(如尚未生成) ```bash ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 此命令将生成一对 RSA 密钥,默认保存在 `~/.ssh/id_rsa`(私钥)和 `~/.ssh/id_rsa.pub`(公钥)。 #### 设置私钥文件权限 ```bash chmod 600 ~/.ssh/id_rsa ``` #### 确认 `.ssh` 目录中的文件 ```bash ls -la ~/.ssh ``` 预期输出中应包含类似以下条目,表示密钥文件存在且权限正确: ``` -rw------- ... id_rsa -rw-r--r-- ... id_rsa.pub ``` --- ### 检查用户登录权限 如果尝试以 `root` 用户身份登录出现问题,请检查 `/etc/ssh/sshd_config` 文件中的配置是否允许 root 登录。编辑该文件: ```bash vim /etc/ssh/sshd_config ``` 找到以下行,并确保其值为 `yes`: ``` PermitRootLogin yes ``` 修改后重启 SSH 服务: ```bash systemctl restart ssh ``` --- ### 测试连接与文件传输 使用 `ssh` 命令测试连接是否正常: ```bash ssh username@remote_host ``` 若能成功登录,则进一步测试文件传输功能: ```bash scp local_file.txt username@remote_host:/path/to/destination/ ``` 若出现 `Permission denied` 错误,请检查目标路径是否存在以及目标目录的写入权限。 --- ### 总结常见问题点 - **SSH 服务未安装或未启动**:需安装 `openssh-server` 并启动服务。 - **密钥文件权限不正确**:私钥文件应设置为 `600`,`.ssh` 目录应设置为 `700`。 - **root 登录被禁用**:需在 `sshd_config` 中启用 `PermitRootLogin`。 - **目录路径问题**:确保 `.ssh` 目录存在且权限配置正确。 - **网络连通性问题**:确认本地与远程主机之间的网络连接稳定。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

看着博客敲代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值