ssh问题

sftp以及ssh问题

在使用pycharm连接虚拟机使用python虚拟环境时报错

preview

preview

遇到这个问题后,测试创建新用户是否也会出错时,遇到报错

(patroni) [fbase@dg-2 ~]$ ssh fbase@192.168.102.12
ssh: /usr/local/fbase/13/lib/libnssutil3.so: version `NSSUTIL_3.82' not found (required by /lib64/libnss3.so)
ssh: /usr/local/fbase/13/lib/libnssutil3.so: version `NSSUTIL_3.59' not found (required by /lib64/libnss3.so)

AI的解释为

用户遇到了一个关于SSH连接的错误,错误信息显示`libnssutil3.so`缺少特定的版本`NSSUTIL_3.82`和`NSSUTIL_3.59`。用户可能是在尝试通过SSH连接到另一台服务器时遇到了这个问题。我需要先理解错误信息的含义。

首先,错误信息指出`ssh`命令在运行时发现了动态链接库的问题。具体来说,`/usr/local/fbase/13/lib/libnssutil3.so`这个库文件缺少所需的版本符号。而`/lib64/libnss3.so`需要这些版本来正常运行。看起来是系统中安装的库版本不兼容或冲突了。

接下来,我需要分析可能的原因。用户可能在他们的环境中安装了多个版本的NSS(Network Security Services)库,或者`/usr/local/fbase/13/lib/`路径下的库文件版本较旧,无法满足`libnss3.so`的要求。这种情况常见于自定义安装路径与系统默认库路径之间的冲突。

然后,我应该考虑解决方案。可能的解决步骤包括检查库文件版本、更新或替换有问题的库、调整环境变量以优先使用系统库,或者重新安装相关软件包以确保依赖关系正确。

用户可能是在使用某个特定应用程序(比如Patroni)的环境下遇到这个问题,因此需要确保他们的环境变量没有错误地指向了旧版本的库。另外,用户可能没有意识到他们安装的软件覆盖或干扰了系统库,导致动态链接器在运行时选择了错误的库文件。

⚠️可能是在安装fbase数据库时fbase用户下~/.bashrc自动设置好的LD_LIBRARY_PATH路径没有加载到新安装的openssl依赖和也没有系统的lib目录(/usr/lib64:/lib64)

检查环境变量:
查看是否在 .bashrc、.bash_profile 或全局配置中设置了 LD_LIBRARY_PATH,导致覆盖系统库路径:

echo $LD_LIBRARY_PATH

如果输出包含 /usr/local/fbase/13/lib,需要修改配置文件移除相关设置。

修复库链接:
将系统默认库路径设为更高优先级:

export LD_LIBRARY_PATH=/lib64:/usr/lib64:$LD_LIBRARY_PATH

将此行添加到 ~/.bashrc 或 ~/.bash_profile 并重新加载:

source ~/.bashrc

安装新版本就更新或替换旧版库:

如果 /usr/local/fbase/13/lib/libnssutil3.so 属于某个自定义安装的软件(如 fbase),尝试更新该软件。

或手动将系统新版库文件链接到该路径:

cp /lib64/libnssutil3.so   /usr/local/fbase/13/lib/

解决好后能正常使用ssh,但不能正常ssh连接到指定用户上

preview

原因是SSH 配置文件设置

确保 SSH 服务器的配置文件没有限制 wy 用户登录。检查目标主机的 /etc/ssh/sshd_config 文件,查看是否存在以下配置项:

  • PermitRootLogin 是否被禁用(对于 root 用户)。
  • AllowUsersDenyUsers 中是否明确限制了 wy 用户的登录权限。(配置文件的末尾)

AllowUsers和AllowGroups如果在配置文件配置有如

AllowUsers  root  fbase
AllowGroups  root  fbase

那就表示值允许root和fbase用户使用ssh登录,新创建的用户需要手动添加

如果想一劳永逸可以在配置文件末尾删除这两个配置项

然后重启sshd服务

systemctl restart sshd
posted @ 2025-04-03 16:30  零の守墓人  阅读(107)  评论(0)    收藏  举报