普通用户运行ssh-keygen报错,root用户运行正常。
报错部分信息如下:
“error while loading shared libraries:libcrypto.so.1.0.0 cannot open...”
在普通用户下运行ldd ssh-keygen
其中一项提示:
libcrypto.so.1.0.0 => not found
在root下运行则正常。
使用搜索引擎搜索错误信息,给出的方法基本都是去创建软连接。这个方法对本例无效。
仔细分析,本例的特点是root可以普通用户报错。其主要区别是root和普通用户权限的差异。
本例在之前对openssl进行过升级。安装目录是/usr/local/ssl,libcrypto.so.1.0.0存放在/usr/local/ssl/lib下
检查该目录下文件权限,发现权限是600.
想起之前因特殊要求,对本服务器用户创建文件的权限进行了缩减,原来是022,后来改为002.
问题请处理就是因为没有读取权限导致的问题。
对相关文件执行chmod 644 文件名
再次执行ssh-keygen,成功。