当我尝试执行任何命令时,例如/etc/init.d/ssh 重启或者/etc/init.d/ssh 启动,我没有得到任何输出。它只是转到下一个命令行(Ubuntu Hardy)。我甚至可以传递垃圾参数,例如/etc/init.d/ssh asldkfjalskfdj我没有收到任何警告或错误消息,它只是转到下一行。我可以检查我的进程:
lsof -i :22
并且看不到我的 ssh 进程。当我运行以下命令时,我也看不到我的 SSH 进程:
netstat -na --inet
有什么故障排除建议吗?
非常感谢大家!我不知道如何摆脱它,但显然我杀死了我的 SSH 安装。快速sudo apt-get 安装 ssh openssh 服务器成功了!!非常感谢你们抽出时间来帮助我!
答案1
/usr/sbin/sshd
如果找不到并执行二进制文件,脚本将立即退出。你能吗ls -l /usr/bin/sshd
?
答案2
当尝试调试 shell 程序正在做什么时,你可以使用set -x
选项指示 shell 在执行命令之前显示每个扩展命令:
$ sudo /etc/init.d/ssh foo
$ sudo sh -x /etc/init.d/ssh foo
+ set -e
+ test -x /usr/sbin/sshd
+ umask 022
+ export SSHD_OOM_ADJUST=-17
+ test -f /etc/default/ssh
+ . /etc/default/ssh
[…]
答案3
尝试以调试模式启动它并查找错误。
sudo /usr/sbin/sshd -def /etc/ssh/sshd_config