ssh连接 termux 启动sshd报错sshd: no hostkeys available -- exiting
Termux 上运行SSH Server
#安装OpenSSH
$ pkg install openssh
#运行SSH Server
$ sshd
#设置密码
$ passwd
#获得Android IP
$ ifconfig
#客户端运行
$ ssh android_ip -p 8022
查看ssh服务是否启动
通过
$ ps -e | grep ssh
查看ssh服务是否开启 发现输入命令之后没有反应
安装ssh
接着,我们安装下ssh
$ sudo apt-get install openssh-server openssh-client
尝试启动ssh服务
使用
$ service ssh start
sshd
解决办法
查看资料看到如下操作方式可以解决此问题 使用以下命令重新生成新的证书文件:
$ ssh-keygen -A
$ /etc/init.d/ssh start
重新启动sshd操作后发现没有再报之前的提示
在SSH服务器启动时,如果出现sshd: no hostkeys available的错误,通常是由于证书文件的问题。这可能是由于证书文件权限设置不当或文件丢失所导致的。下面我们将通过几个步骤进行故障排查和修复。
检查证书文件是否存在
首先,我们需要检查SSH服务器上的证书文件是否存在。证书文件通常位于/etc/ssh/目录下。您可以使用以下命令来检查该目录下的证书文件:
ls /etc/ssh/ssh_host_*如果证书文件不存在,您需要重新生成证书文件。
检查证书文件权限
如果证书文件存在,我们需要检查它们的权限设置是否正确。证书文件的权限应该设置为只有root用户可读写。您可以使用以下命令来检查权限设置:
ls -l /etc/ssh/ssh_host_*如果权限设置不正确,您可以使用以下命令来更改权限:
sudo chmod 600 /etc/ssh/ssh_host_*备份并删除证书文件
如果以上步骤无法解决问题,您可以尝试备份并删除证书文件,然后重新生成新的证书文件。首先,创建一个备份目录:
mkdir /etc/ssh/backup然后,将证书文件移动到备份目录:
mv /etc/ssh/ssh_host_* /etc/ssh/backup/最后,使用以下命令重新生成新的证书文件:
ssh-keygen -A这将自动创建新的默认的证书文件。请注意,此操作将删除现有的证书文件并生成新的默认证书文件,因此请谨慎操作。
重启SSH服务
完成以上步骤后,您可以尝试重启SSH服务,检查是否能够正常启动。使用以下命令重启SSH服务:
sudo systemctl restart sshd.service如果SSH服务能够正常启动,则说明问题已经解决。如果仍然出现sshd: no hostkeys available的错误,请继续排查其他可能的问题。
检查
日志
文件
最后,您可以检查SSH服务器的日志文件以获取更多详细信息。日志文件通常位于/var/log/目录下。您可以使用以下命令来查看日志文件:
sudo cat /var/log/auth.log | grep sshd: no hostkeys available这将显示与sshd: no hostkeys available错误相关的日志信息。根据日志信息,您可以进一步排查问题所在。
总结:当SSH服务器启动失败并出现sshd: no hostkeys available错误时,可能是由于证书文件的问题所导致的。通过检查证书文件是否存在、权限设置是否正确、备份并删除证书文件、重启SSH服务和检查日志文件等步骤进行故障排查和修复,您应该能够解决这个问题。希望本文能够帮助您顺利解决SSH启动失败的问题。
Termux-api调用api后没没反应
1.Termux-API 是一个APP,要下载安装
2.Termux里要安装调用Termux-API 插件包
3.手机里设置Termux-API的APP,应用启动权限(这里容易忘,会不能用)
下载安装APP,https://f-droid.org/packages/com.termux.api/ 安装包: pkg install termux-api 手机里自己设置,Termux-API的启动权限
可以用 termux-battery-status //查询电量