sshd: no hostkeys available -- exiting.
时间: 2024-10-14 22:03:36 浏览: 76
当你收到 `sshd: no hostkeys available -- exiting.` 的错误消息时,这意味着SSH守护进程(sshd)无法找到有效的主机密钥对。主机密钥用于验证远程用户的连接请求,通常包含公钥和私钥两部分。
1. 密钥生成:首先检查SSH服务器的密钥生成。如果你之前手动删除过密钥,或者从未生成过,那么你需要重新生成主机密钥对,使用命令:
```
sudo ssh-keygen -A
```
完成后可能会提示你输入新主机名,然后按回车即可。
2. 检查目录:确认 `~/.ssh` 目录下是否有正确的 `known_hosts` 和 `authorized_keys` 文件,它们应该由系统自动生成或者手动添加。
3. 重启sshd:有时候只是服务需要重启,尝试:
```
sudo service ssh restart
```
4. 密钥同步:如果是从旧版本升级而来,可能是由于密钥更新导致的问题,这时可能需要更新到最新版本的密钥。
5. 系统问题:如果以上操作无效,可能是系统级别的问题,比如权限设置错误、软件包损坏等,需要进一步排查系统日志。
如果遇到这个错误,建议检查相关文档或联系管理员帮助解决。
相关问题
hadoop@liwu:~$ sudo systemctl status sshd ● sshd.service Loaded: not-found (Reason: No such file or directory) Active: inactive (dead)
这条命令是在尝试查询名为“sshd”的服务状态,但是系统返回了“Loaded: not-found (Reason: No such file or directory)”的信息,这意味着在系统中没有找到名为“sshd”的服务。由于服务未安装或未正确识别,因此无法显示其状态,接下来还显示了“Active: inactive (dead)”,这表示该服务目前没有运行,且不是由任何进程启动的。
如果你希望启用并启动SSH服务,你需要首先确认是否已经安装了`sshd`服务。在基于Debian的系统(如Ubuntu)中,SSH服务通常由`ssh`包提供。你可能需要先安装这个包,然后使用`systemctl`命令来启动服务。操作步骤大致如下:
1. 安装SSH服务:
```
sudo apt-get install openssh-server
```
2. 启动SSH服务:
```
sudo systemctl start sshd
```
3. 使SSH服务在系统启动时自动运行:
```
sudo systemctl enable sshd
```
4. 再次检查SSH服务的状态,确认服务已经运行:
```
sudo systemctl status sshd
```
请确保在进行这些操作之前你有足够的权限,以及了解这些命令的作用和潜在的安全影响。如果在企业或生产环境中操作,最好咨询IT安全专家或遵循组织的安全政策。
sshd: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory
这个错误是由于sshd无法找到libcrypto.so.10共享库文件而导致的。您可以尝试以下步骤来解决这个问题:
1. 确认您已经安装了OpenSSL软件包,该软件包包含了libcrypto.so.10共享库文件。
2. 如果您已经安装了OpenSSL软件包,但仍然无法找到libcrypto.so.10库文件,则可以尝试创建一个符号链接。打开终端并输入以下命令:
sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /usr/lib/x86_64-linux-gnu/libcrypto.so.10
这将创建一个名为libcrypto.so.10的符号链接,指向实际的库文件libcrypto.so.1.0.0。
3. 如果上述两个步骤都无法解决问题,则可能需要手动安装libcrypto.so.10库文件。您可以从网络上找到相应的库文件,并将其复制到/usr/lib/x86_64-linux-gnu/目录中。
希望这些步骤能够帮助您解决问题。
阅读全文