⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0310telnetssh.htm

📁 鸟哥的linux私房菜
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<span class=term_write>#       disable         = yes
        disable         = no</span>
<span class=term_say># 基本上,改上面这两行就够了!将 disable 设定成 no 表示要启动!</span>
}
</pre></td></tr></table>

		</ol>

		设定完开启之后,自然就是要启动啦,刚刚提到 <span class=text_import2>telnet
		是挂在 xinetd 底下的,所以自然只要重新启动 xinetd 就能够将 /etc/xinetd.d/ 里头的设定重新读进来</span>,
		所以刚刚设定启动的
		telnet 自然也就可以被启动啦!而启动的方式也有两种方式,其中 service 这个指令仅支援在
		CentOS 与 Mandriva 底下,所以通常鸟哥还是以 /etc/init.d 底下的 scripts
		为启动的主要方法啦!<br />

<table class="term"><tr><td class="term"><pre>
<span class=term_hd>仅适合 Red Hat 系列 / Mandriva 系列的主机启动方式</span>
[root@linux ~]# <span class=term_command>service xinetd restart</span>
Stopping xinetd:                       [  OK  ]
Starting xinetd:                       [  OK  ]

<span class=term_hd>适合各版本的主机启动方式</span>
[root@linux ~]# <span class=term_command>/etc/init.d/xinetd restart</span>
Stopping xinetd:                       [  OK  ]
Starting xinetd:                       [  OK  ]
<span class=term_say># 某些版本并没有 restart 的选项,这个时候就需要∶stop 再 start 棉!</span>
</pre></td></tr></table>

		那么要看有没有启动服务呢?怎么看?其实也很简单啦,还记得我们在前几章提到的『
		<a href="0210port_limit.php">限制 Linux port 的连线</a> 』那一章吗?使用
		<a href="0140networkcommand.php#netstat">netstat</a>
		就可以啦!<br />

<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>netstat -tlup</span>
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address  Foreign Address   State   PID/Program name
tcp        0      0 *:telnet       *:*               LISTEN  23817/xinetd
</pre></td></tr></table>

		看到了吗?没错,那个 telnet 就是启动的项目啦!那么要如何关闭呢?呵呵!
		那就真的是太简单啦!就将刚刚的步骤再做一次,而将设定值转变一下即可!步骤如下啦!<br />

		<div style="padding: 10 0 10 0 ;" align="right"><table width="90%"><tr><td><b>Tips:</b><br /><span style="font-style: italic; color : darkgreen">			这里考一个问题,那个 port 对应的服务名称在哪一个档案里面查询到的呢?
			在每一个 Linux 系统都有的档案呦!忘记了呀!?再回到前面看看
			<a href="0210port_limit.php">限制 Linux port 的连线</a> ,
			然后用 <a href="../linux_basic/0310vi.php">vi</a> 去看看那一个档案的内容吧! ^_^ 
		</span></td><td><img src="../images/vbird_face.gif" /></td></tr></table></div>
<table class="term"><tr><td class="term"><pre>
<span class=term_hd>Step 1: 修改设定档</span>
[root@linux ~]# <span class=term_command>vi /etc/xinetd.d/telnet</span>
service telnet
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        log_on_failure  += USERID
        disable         = yes  <span class=term_say>&lt;== 就是这里啦!将他改成 yes 就是关闭!</span>
}

<span class=term_hd>Step 2: 重新启动 xinetd 这个 super daemon</span>
[root@linux ~]# <span class=term_command>/etc/init.d/xinetd restart</span>
</pre></td></tr></table>

		</div>
	</div>

	<hr /><a name="telnet_client"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class=text_h2>好用的连线软体</span><br />
	<div class=block2>
		刚刚上面提到的都是在伺服器端的设定而已!那么在客户端有什么好用的软体可以连上 
		Server 的呢?最常见到的应该就是 netterm 这个鼎鼎大名的连线软体了吧!
		我想,只要玩过 BBS 的大概都晓得这个软体才对!所以这里就不提了!
		另外,目前几乎所有的作业系统都提供了 telnet 这个程式,这个程式可以直接轻易的就连上 
		telnet server 呢!例如您要在 Linux 上面连上自己的 telnet 伺服器,可以这样做∶<br />

<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>telnet localhost</span>
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
CentOS release 4.4 (Final)
Kernel 2.6.9-42.0.2.EL on an i686
login: <span class=term_command>dmtsai</span>    <span class=term_say>&lt;== 就是这里啦!请输入『一般』帐号,不能用 root 喔!</span>
Password:         <span class=term_say>&lt;== 这里输入该帐号的密码!请注意,输入时,萤幕不会有任何资讯!</span>
Last login: Fri Jul  1 09:31:21 from 127.0.0.1  <span class=term_say>&lt;== 上次登入的资讯为何?</span>
[dmtsai@linux ~]$ <span class=term_say>&lt;== 这里就是已经登入的地方!亦即远端主机了!</span>
[dmtsai@linux ~]$ <span class=term_command>exit</span>    <span class=term_say>&lt;== 这样就能够离开 telnet 与远端主机咯!</span>
</pre></td></tr></table>

		这样就连线进来啦!很简单吧!那么在 Windows 的环境底下呢?同样的,也是可以使用
		telnet 的程式连线到 Linux 的 telnet server 里面来!没有问题的啦!可以依序这样做∶

		<ol><span class=text_import2>
		<li>按下 Windows 内的 『开始』
		<li>选择 『执行』
		<li>在出现的视窗中输入 『telnet your.IP.or.hostname』</ol></span>

		这样就可以进入 Linux 的环境中了!很方便吧!当然啦!您也可以使用类似
		netterm 这个很棒的连线软体来连线的,这里我们就不示范啦!<br />

		<div style="padding: 10 0 10 0 ;" align="right"><table width="90%"><tr><td><b>Tips:</b><br /><span style="font-style: italic; color : darkgreen">		在 Linux tty1 ~ tty6 的终端机预设模式下,我们是没有办法看到中文的!
		除非安装某些特殊的中文介面才行!比如 JMCCE 之类的咚咚!
		因为不是很重要,所以鸟哥这里就不加介绍了。 ^_^
		</span></td><td><img src="../images/vbird_face.gif" /></td></tr></table></div>
		另外,需要先留意的是,为了系统安全的考量,<span class=text_import2>预设的 telnet 
		是『不允许』使用 root 这个帐号登入的~</span>
		这个很重要喔!您不要使用 root 尝试登入 telnet 啊! ^_^
	</div>

	<hr /><a name="telnet_safe"></a><img src="../images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class=text_h2>iptables, TCP_Wrappers, 纯建议</span><br />
	<div class=block2>
		telnet 这个伺服器方便归方便,但<span class=text_import2>总是一个不太好的连线解决方案</span>,
		因为毕竟他是一个以『明码』传输的协定,所以很不适合在 Internet 上面使用啦!
		你总不希望你的帐号密码在 Internet 上面被窃取吧?不过,如果 telnet 是启动在内部环境当中那就还好啦!
		尤其有些朋友因为旧软体的关系,还是需要使用到 telnet 来连线。那么我们就提一些基本的注意事项好了!<br /><br />

		<li><span class=text_import1>以比较限制的设定档来规范连线的 IP ∶</span></li>
		<div class=block2>
			事实上, xinetd 就已经提供些许的保护措施了,
			您可以针对您主机的多重介面(有对内以及对外喔!)来提供不同保护等级的措施!
			底下列出一个范例,不过,更多的资讯请再回到『<a href="../linux_basic/">鸟哥的
			Linux 私房菜 -- 基础学习篇</a>』当中去查阅一下
			『<a href="../linux_basic/0560daemons.php">认识服务</a>
			』那一章里面的详细设定说明,或者直接 man xinetd.conf 吧!<br />

<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>vi /etc/xinetd.d/telnet</span>
<span class=term_say># This file had been modified by VBird 2002/11/04
# 首先为内部网路的参数设定</span>
service telnet
{
        disable         = no
<span class=term_write>        bind            = 192.168.1.2
        only_from       = 192.168.1.0/24</span>
        <span class=term_say># 上面这两行说明仅提供内部网域!</span>
        instance        = UNLIMITED
        nice            = 0
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/telnetd
        server_args     = -a none
        log_on_failure  += USERID
}

<span class=term_say># 再来则是针对外部网域的设定</span>
service telnet
{
        disable         = no
<span class=term_write>        bind            = 140.116.142.196
        only_from       = 140.116.0.0/16
        no_access       = 140.116.32.{10,26}</span>
        <span class=term_say># 上面这三行设定外部较为严格的限制</span>
        instance        = 10   <span class=term_say>&lt;==最多允许同时 10 个连线</span>
        umask           = 022
        nice            = 10
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/telnetd
        server_args     = -a none
        log_on_failure  += USERID
}
</pre></td></tr></table>
		</div>
		<li><span class=text_import1>root 不能直接以 telnet 连接上主机∶</span></li>
		<div class=block2>
			<span class=text_import2>既然 telnet 不是很安全,自然预设的情况之下就是无法允许
			root 以 telnet 登入 Linux 主机的</span>!但事实上, telnet 
			只是利用一些较为安全的机制 (其实就是 PAM 模组啦) 来防止
			root 登入而已~所以棉,假如您确定您的环境够安全(例如您的主机并没有连上
			Internet ),并且想要开放 root 以 telnet 登入 Linux 主机的话,请直接将 /etc/securetty
			更改档名即可!<br />

<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>mv /etc/securetty /etc/securetty.bak</span>
</pre></td></tr></table>

			这样一来,root 就可以登入啦!不过,相当的不建议这样做喔!毕竟不是很安全啦!此外,您也可以藉由修改
			pam 模组来达成同样的功能!修改 /etc/pam.d/login 这个档案的第二行设定即可∶

<table class="term"><tr><td class="term"><pre>
[root@linux ~]# <span class=term_command>vi /etc/pam.d/login</span>
#%PAM-1.0
<span class=term_write>#auth       required     pam_securetty.so</span>  <span class=term_say>&lt;== 就是这样一行,将他注解即可!</span>
auth       required     pam_stack.so service=system-auth
auth       required     pam_nologin.so
account    required     pam_stack.so service=system-auth
password   required     pam_stack.so service=system-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_stack.so service=system-auth
session    required     pam_loginuid.so
session    optional     pam_console.so
# pam_selinux.so open should be the last session rule
session    required     pam_selinux.so multiple open
</pre></td></tr></table>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -