Ubuntu下测试ssh时使用ssh localhost 命令,出现错误提示connect to host localhost port 22:Connection refused

造成这个错误的原因可能是ssh-server未安装或者未启动。

提示:ubuntu 11.10 默认安装openssh-client,但是没有安装server(其他博主说的,未验证);博主的Ubuntu是16.10,测试发现 openssh-client 和 openssh-server 均没有安装

运行 ps -e | grep ssh,查看是否有sshd进程

如果没有,说明server没启动,通过 /etc/init.d/ssh -start 启动server进程

如果提示ssh不存在 那么就是没安装server,通过 sudo apt-get install openssh-server命令安装即可。如果没有报错,说明安装成功,在此博主恭喜你,不像博主一直报错。

如果安装过程中报错(不要伤心,博主和你一样哦),缺少依赖包,如下图所示:

分析问题出现原因:openssh-server所依赖的openssh-client版本不存在,openssh-client没有安装或者安装的版本不匹配

解决方法:安装提示的openssh-client版本

比如我的只需要执行如下命令:sudo apt-get install openssh-client=1:7.2p2-4ubuntu2.10,安装openssh-client时,会询问你是否继续,输入 y ,按回车即可

openssh-client安装成功!

提示:此处应该使用管理员权限(sudo),否则会报错(13: Permission denied),如下图所示:

回过头来继续安装openssh-server

openssh-server安装成功!

再次使用ssh localhost 命令,发现能够正常连接


如果对您有帮助,赏口饭吃❤谢谢老板❤ 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐