我最近获得了 Ubuntu 12.04 Precise,使用一些 MediaWiki 软件、盒子和路由器上的静态 IP 启动并运行它,甚至可以从手机访问主页。一切似乎都很棒……
然后我最终想摆脱显示器和键盘并通过 SSH 远程登录。
我安装了 openssh-server,让所有内容指向端口 22 进行测试运行,并在我的 Windows XP 机器上安装了 putty。我的连接被拒绝了。回去开始检查 Ubuntu 安装本身……(从现在起,我处于 root 权限下)
$ sudo -s
$ service ssh status
ssh stop/waiting
$ service ssh start
ssh start/running, process 2212
$ service ssh status
ssh stop/waiting
显然 ssh 已停止或正在等待某事......
$ ssh localhost
ssh: connect to host localhost port 22: Connection refused
我甚至无法连接到自己...我检查了 ufw(防火墙)以查看端口 22 是否正常运行......
$ sudo ufw status
Status: active
To Action From
22 ALLOW Anywhere
22/tcp ALLOW Anywhere
22 ALLOW Anywhere (v6)
22/tcp ALLOW Anywhere (v6)
sshd_config
仅显示端口 22
ssh 使用的 IP 地址是否完全不正确?我就是搞不清楚我做错了什么。当它启动并运行时,我肯定会更改端口号,但目前,在使用 putty 进行测试运行成功之前,我不想过多地干扰默认安装。
编辑:
命令/usr/sbin/sshd -p 22 -D -d -e
返回:
/etc/ssh/sshd_config 第 159 行:子系统“sftp”已定义。
编辑: @phoibus 移动 sshd_config 文件并重新安装就成功了!
服务 ssh 状态
上述命令显示 ssh 正在运行,我现在可以通过 putty 从我的 Windows XP 计算机远程登录。非常感谢!我现在可以将显示器用于其他用途了!
答案1
您的/etc/ssh/sshd_config
文件中有重复的部分。
重命名sshd_config
文件
sudo mv /etc/ssh/sshd_config /etc/ssh/sshd_config.old
并重新安装openssh-server
以获取原始文件:
sudo apt-get install --reinstall openssh-server
看看它现在是否有效。
答案2
我的问题也是设置问题,但我搞不清楚我的哪个更改是问题所在。稍微挖掘一下后,您就可以运行,并且会报告sshd -t
任何错误。sshd_config
root@sh1:/etc/ssh# sshd -t /etc/ssh/sshd_config line 102: Directive 'UsePAM' is not allowed within a Match block
这意味着“匹配块”设置需要位于文件末尾sshd_config
。