ubuntu上openssh不能启动错误一例

在折腾《rsync修改远程文件权限》的时候遇到,下面的问题,虽然有惊无险,记录一下

[root@cnrainbird log]#tail syslog
Jan 25 11:18:53 cnrainbird init: ssh main process (11166) terminated with status 255
Jan 25 11:18:53 cnrainbird init: ssh main process ended, respawning
Jan 25 11:18:53 cnrainbird init: ssh main process (11169) terminated with status 255
Jan 25 11:18:53 cnrainbird init: ssh main process ended, respawning
Jan 25 11:18:53 cnrainbird init: ssh main process (11172) terminated with status 255
Jan 25 11:18:53 cnrainbird init: ssh main process ended, respawning
Jan 25 11:18:53 cnrainbird init: ssh main process (11175) terminated with status 255
Jan 25 11:18:53 cnrainbird init: ssh main process ended, respawning
Jan 25 11:18:53 cnrainbird init: ssh main process (11178) terminated with status 255
Jan 25 11:18:53 cnrainbird init: ssh respawning too fast, stopped

因为默认的www帐号的宿主目录是指向/var/www的,懒,也为了省事儿,直接创建了这个目录。进去这个目录然
后想给这个目录添加ssh通过key登陆,于是埋下了伏笔~~

[root@cnrainbird ios]#mkdir /var/www
[root@cnrainbird ios]#chown www-data.www-data !$ -R
chown www-data.www-data /var/www -R
[root@cnrainbird ios]#cp -r ~/.ssh /var/www
[root@cnrainbird ios]#cd !$
cd /var/www
[root@cnrainbird www]#ls
[root@cnrainbird www]#ls -alh
total 12K
drwxr-xr-x  3 www www 4.0K 2013-01-25 10:44 .
drwxr-xr-x 16 root     root     4.0K 2013-01-25 10:43 ..
drwxr-xr-x  2 root     root     4.0K 2013-01-25 10:44 .ssh
[root@cnrainbird www]#chown www.www * -R
chown: cannot access `*': No such file or directory
[root@cnrainbird www]#!ls
ls -alh
total 12K
drwxr-xr-x  3 www www 4.0K 2013-01-25 10:44 .
drwxr-xr-x 16 root     root     4.0K 2013-01-25 10:43 ..
drwxr-xr-x  2 root     root     4.0K 2013-01-25 10:44 .ssh
[root@cnrainbird www]#chown www.www ../ -R
[root@cnrainbird www]#ls-alh^C
[root@cnrainbird www]#!ls
ls -alh
total 12K
drwxr-xr-x  3 www www 4.0K 2013-01-25 10:44 .
drwxr-xr-x 16 www www 4.0K 2013-01-25 10:43 ..
drwxr-xr-x  2 www www 4.0K 2013-01-25 10:44 .ssh

弄完以后,想用www帐号登陆一下试试,发现:

rainbird-mbp:~ rainbird$ ssh www@mli
ssh: connect to host 106.187.88.245 port 22: Connection refused

于是赶紧用机器上的其它帐号登陆,发现也是refused,在机器上看了一下ssh服务竟然没起来,我晕了,冷静两秒钟,我意识到一个很严峻的问题:我目前只有一个连接能管理这台机器了!如果这时候我不小心按下了ctlr+d退出链接;或者网络突然有点小问题,断一下。我就再也连不上这台vps了。而最关键的是:我里面的数据都没有备份!
于是小心翼翼的查日志,发现了最上面的错误,然后google之,发现了两条不靠谱的解决办法:
一条在sshd_config里添加

ClientAliveInterval 60
ClientCountAliveMax 60

另一条在sshd_config里添加:

root@localhost:~#echo “ListenServer 0.0.0.0″ >> /etc/ssh/sshd_config

虽然这两条都是针对:init: ssh respawning too fast, stopped下药,但明显对我的问题无效,因为我重启ssh还是不好使的。
好吧,实在没办法了,只能自己研究了,想着既然不能通过系统脚本来启动ssh服务那我手动启动吧

[root@cnrainbird log]#whereis sshd
sshd: /usr/sbin/sshd /usr/share/man/man8/sshd.8.gz
[root@cnrainbird log]#/usr/sbin/sshd
/etc/ssh/sshd_config: line 93: Bad configuration option: ListenServer
/etc/ssh/sshd_config: terminating, 1 bad configuration options
[root@cnrainbird log]#vi /etc/ssh/sshd_config
[root@cnrainbird log]#/usr/sbin/sshd
/var/run/sshd must be owned by root and not group or world-writable.

终于定位到了错误的根源”/var/run/sshd must be owned by root and not group or world-writable.”于是看了一下这个目录权限,发现整个var不小心给改成www用户所有了,于是赶紧改回来了。于是一个颗悬着的心终于放下了。


相关博文

    分享到:

About rainbird

IOS攻城狮
This entry was posted in linux系统运维 and tagged , , , . Bookmark the permalink.

发表评论