[FreeBSD] 一直出现 ssh/tcp: bind: Address alr…

2009-05-13 10:41:26来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折


[FreeBSD] 一直出现 ssh/tcp: bind: Address already in use 的讯息
consol 上会一直出现 ssh/tcp: bind: Address already in use 的讯息,而且在 log 文件中也会一直出现这个讯息,这是怎么一回事?
先来看看几个设定档,先看看 /etc/rc.conf 和 /etc/default/rc.conf 这两个档,看看是否有:
sshd_enable="YES" (或者 sshd2_enable="YES" ,视你安装的 sshd 而定) 以及
inetd_enable="YES"
如果两行都有,不管是不是在同一档中或分置于两个档中,都代表着你把 sshd 和 inetd 这两个 deamon 都打开了。 这个时候请你查看一下 /etc/inetd.conf 这个档,是否有下列两行:
ssh stream tcp nowait root /usr/local/sbin/sshd sshd -i -4
ssh stream tcp6 nowait root /usr/local/sbin/sshd sshd -i -6
有的话,请把这两个前面加上「#」字号,代表将这两行标注起来,不去启动它!不然的话,你的 FreeBSD 会启动两次 sshd 。
#ssh stream tcp nowait root /usr/local/sbin/sshd sshd -i -4
#ssh stream tcp6 nowait root /usr/local/sbin/sshd sshd -i -6
然后找出 inetd 的 process id:
ps ax | grep inetd
然后下:
kill -HUP 'inetd process id'
重新启动 inetd。或者更快的方法是只要下这样的指令:
kill -HUP `cat /var/run/inetd.pid`
但是请注意一下,这里的单引号是反斜的「`」,也就是键盘的左上角,和「~」这个符号在一起的那个反斜单引号,代表的是把 cat /var/run/inetd.pid 执行的结果直接当成 kill -HUP 的自变量。因为 FreeBSD 会把 inetd 目前的 process id 存在这个档中。
这里再提示一下两件快速从档案中查出你想要讯息的方法。第一种是常用的 grep 指令,如果你想从 /etc/inetd.conf 下找出有 ssh 这个字的地方,可以下:
grep ssh /etc/inetd.conf
这样就会只显示这两行有 ssh 的资料。
第二种方法则是善用 more 这个指令,当你下 more /etc/inetd.conf 时,在屏幕的最后一行会出现目前光标在档案的什么位置,这时你可以直接打 /ssh 这样的字样,more 就会把光标移到第一次出现的地方,然后,之后你只要键入斜线「/」,就会跳到下一个出现 ssh 的地方。这种在文章中找关键词的方法同时适用于 vi 上。
对了,最好顺便提一下,离开 more 的方法是按 「q」键!:P
PS:细心的兄弟也会发现。LINUX上面通常出现这种情况是比较多的。因为LINUX上面安装好后就会自己启动xinted服务。。然后rc.d里面又启动了SSHD服务。xinetd里面的服务相信我也不用介绍了。。所以,就启动了两次。也会出现上面的情况!所以,一般还是把XINETD里面的SSHD服务前面加个#号。启动时候不启动SSHD



本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/34399/showart_423639.html

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:FreeBSD] 为什么会一直出现 fatal: open database /etc/aliase

下一篇:FREEBSD软件包的更新管理