Ken.UNC

Good

FreeBSD7.0->远程登陆--Telnet、SSH 修改篇

       Telnet、SSH的简单介绍及基本设置和使用

一、什么是Telnet呢?
telnet:是一种明码传输的协议,所谓明码传输是指,数据通过telnet协议在Internet上传输时,不经过任 何格式转换,以ANSI格式进行传输,使用这种协议传输数据,数据直接暴露,容易被窃取,十分危险。
       例如:可以做一个试验,用抓包软件Ethereal等,抓包时选择抓TCP封包,开始抓包,然后在Windows cmd下用telnet IP(IP替换成要连接的FreeBSD主机IP)命令连接FreeBSD主机(我的FreeBSD装在虚拟机上),输入用户名和密码,随便下达几个命令,我下达的是top,等一会儿10了秒就行,停止抓包,你就可以去Ethereal里查看这样的封包->源IP是你的主机IP、目的IP是FreeBSD的IP,协议是Telnet的,找一会儿,你就会发现你登陆FreeBSD主机时输入的用户名和密码,还有top命令执行的过程和输出结果,都会在Ethereal中。通过这个简单的例子,我们可以看出Telnet这种传输协议有多么得危险啦~



    虽然Telnet很危险,但是,我们还是要了解了解它啊!仅仅了解了解就可以了,实际使用时,我们当然会去选择更加安全的SSH喽~

1,下面就简单的讲下如何开启Telnet服务和如何利用客户端软件登陆FreeBSD主机:

    安装FreeBSD后,系统就已经自带了Telnet服务端和客户端程序,我们只需要设置一下就可以了,FreeBSD中telnet的服务端程序是/usr/libexec/目录下的telnetd,不过他是由守护进程inetd来管理的,我们要先设置一下inetd的的配置文件/etc/inetd.conf才可以啊~ ,然后再启动守护进程inetd,具体可以按照下面的步骤操作:

    1),修改守护进程配置文件inetd.conf,将 telnet 那一行前面的"#"去掉,那个tcp6是对IPv6的支持,保存退出;


    2),重新启动 inetd:#/etc/rc.d/inetd restart;
    可以看出,启动Telnet真得是很简单啦!一会儿再讲怎么登陆,别着急~

2,关闭FreeBSD主机 telnet 服务:
    1),修改 inetd.conf,将 telnet 那一行前面加上"#",保存退出;
    2),重新启动 inetd,/etc/rc.d/inetd restart;

    所以,关于telnet的启动与关闭,只需对"#"和inetd进行操作即可。

注意:1),如果telnet服务已经启动,并且有联机用户在使用,此时,如果关闭服务的话,先前已登陆的用户还可以继续使用,新用户无法建立联机。
      2),/sbin/telnet 是FreeBSD的telnet客户端程序,你可以在FreeBSD主机下使用telnet localhost登陆奥,/usr/libexec/telnetd 才是服务程序。不要搞混了!!
      3), 直接下达命令:/usr/libexec/telnetd,是不能开启telnet服务的,这个原因我也不太清楚。
      4),并且,因为telnet服务程序是由守护进程inetd服务管理的,如果有用户请求联机,inetd才呼叫telnetd开启并创建一个telnetd进程,有一个用户请求,就创建一个telnetd;而如果没有用户请求,telnetd 是处于休眠状态的,利用top是看不到telnetd进程的。
    也就是说,telnetd 这个服务:有用户请求,就醒来,并创建telnetd进程,top可见该进程;
                                没有用户请求,就睡觉,并且没有telnetd进程,top不可见。

    这也就是常说的,服务两种启动模式:独立启动模式stand daemon和超级守护进程管理模式super daemon。注意啊,是超级守护进程,带了超级二字,因为其他服务也有守护进程,不过他们的守护进程可不能说称超级守护进程啦~,如果这一小段儿,你不太清楚,没关系啦~ 过一段儿时间,等你对FreeBSD熟悉了,自然就明了了。

3,Telnet客户端:

1),如果在开启了Telnet服务的FreeBSD主机上,使用Telnet登陆本机,可以使用:telnet 127.0.0.1;或者
是telnet localhost;或者是telnet 10.66.13.*(FreeBSD主机IP);

2),如果在其他Unix-like机器上远程登陆FreeBSD主机,可以使用:telnet 10.66.13.*;IP为FreeBSD主机的IP;

3),Windows下远程登陆FreeBSD主机:
    在Windows下远程登陆FreeBSD主机,也很简单了,可以直接使用Windows的命令行程序:
A,开始->运行->cmd;
B,输入命令:telnet 10.66.13.*,IP替换一下就可以啦;
    也可以用putty这个软件选择telnet协议登陆FreeBSD主机,这个先不说了,一会儿再说。

    就这样,可以说最简单的Telnet服务器我们就搞定了,使用方法就和你在FreeBSD主机前面一样啦。当然关于Telnet还有很多很多的技术呢!就不再说了,只是简单的介绍下而已。
    下面说下SSH协议的远程登陆主机。



二、SSH--加密传输

SSH协议所提供的服务可不只只远程登陆的功能哦~
    SSH 同时提供了两种服务:类似于telnet的安全的远程登录服务;
                                     类似于ftp的提供安全的ftp服务;
    大家都说ssd协议是加密过的,具体的就不清楚了,加密就是用特殊的语法形式把Internet上传输的数据转换下格式呗,我们可以简单的理解为,所有传输的数据都被封装在一个黑色的盒子里了,别人是看不到的。加密过当然就很安全了,所以以后实在需要远程登陆主机的话,千万不要使用Telnet奥,要使用 SSH啦~
不多说了。
    其实,SSH相关技术实在是复杂,我们先简单的讲讲怎么用,具体的东西,再慢慢深入吧~

可以按照下边的步骤操作:
1,开启 ssh 服务有两种方法:
    A--->直接输入:#/usr/sbin/sshd
         这种方式就是独立启动了,不经过守护进程inetd管理,一直在监听着。
    B--->通过守护进程inetd管理启动:编辑/etc/inetd.conf,将sshd那行前边的"#"去掉,
         执行 #/etc/rc.d/inetd restart
    可以看到,很简单嘛~

注意ssh的主要配置文件在/etc/ssh下,如果安装FreeBSD时采用的是最小化安装,/etc/ssh目录下应该只有三个文件,这时,是无法启动SSH的,我们就必须先执行下这个命令:/etc/rc.d/sshd start,这时指令的意思是生成ssh_host_*这几个文件,这时,如果想知道他们是干嘛的,就需要去看SSH的原理里,真的很麻烦,很繁琐的,我就不说了,因为我也不是专业于SSH。


2,关闭FreeBSD主机 ssh 服务:
    1,在/etc/inetd.conf中sshd那行最前边,加上"#";
    2,然后,重新启动守护进程/etc/rc.d/inetd,执行#/etc/rc.d/inetd restart;

    其实,ssh除了加密外,和telnet都差不多啦,不多说了~


3,通过SSH协议登陆FreeBSD主机:
   
如果在FreeBSD主机或其他Unix-like上,可以使用/usr/bin/目录下的ssh这个客户端程序:
      
    这样执行就可以:#ssh username@10.66.13.*
      
    当然,这个命令不是唯一的,还可以使用其他合适的登陆,不过这个格式比较简单,嘿嘿~



4,那么如何在Windows下通过SSH这个安全的协议远程登陆FreeBSD主机呢?

    要想在Windows下通过SSH协议登陆FreeBSD主机,要使用putty这个软件,可以到下面的地址下载:

 http://www.chiark.greenend.org.uk/%7Esgtatham/putty/

    如果网页打不开,不要着急,稍后再试试,有可能,网站忙~ 装完后,启动该软件:


   
    在左边,选择会话session,在hostname里添写FreeBSD主机IP,在Saved Sessions里随便添写一个名字就可以,注意啦~看Connection type那栏,默认协议是SSH,旁边有个Telnet,所以喽,我们还可以使用putty来通过telnet协议登陆FreeBSD主机呢!其他的设置自己看看吧,Window就是窗口显示的效果啦等等。接下来,点下保存Save,然后Open吧!!
    OK~

    对了,在Windows下还可以使用psftp这个软件,这个软件,看他的名字带着ftp,嘿嘿,我们就知道他应该与FTP有点儿关系,确实有点儿关系,因为刚才说了嘛!SSH还提供了类似于ftp功能的服务啊,注意啦,是提供类似于Ftp的功能,不过使用的协议可是ssh啊,而FTP服务器使用的是ftp协议奥~ psftp的也可以到上边的那个网站下载。
   
还要说明一点的是这个类似于ftp功能是什么意思呢?

    说的简单点,你可以用psftp透过ssh协议登陆FreeBSD主机后,进行下载、上传等操作,我认为下载和上传很重要啊~ 因为很常用嘛!  

    如果你使用psftp登陆FreeBSD主机,你一定要top一下,仔细观察看出现了什么~~~~


    好了,关于Telent和SSH的基本设置与使用方法就是这样了,其实还有好多的技术呢!这些就需要你自己去看了。
   
    所以,以后要是真的用远程登陆FreeBSD,千万要使用安全的SSH啊!
    不要使用不安全的finger, r Shell (rcp, rlogin, rsh 等指令), talk 及 telnet 啦!
  

    如果有不清楚的地方,可以留言啊,我天天都上线~  高手不要笑话哈!

posted on 2008-04-08 16:17 Ken.UNC 阅读(2875) 评论(4)  编辑 收藏 引用

Feedback

# re: FreeBSD7.0->远程登陆--Telnet、SSH 2008-04-06 18:43 管理咨询

看不懂。。。。  回复  更多评论   

# re: FreeBSD7.0->远程登陆--Telnet、SSH 修改篇 2008-09-11 14:22 kelvin

1, 那么如何切换屏幕呢?如ttyv0,ttyv1,ttyv2...

2,用SSH,可以让自己的命令出现在远程的屏幕上吗?  回复  更多评论   

# re: FreeBSD7.0->远程登陆--Telnet、SSH 修改篇 2008-09-21 22:15 Ken.UNC

回答:
1,我的理解:ttyv0,ttyv1等是控制台前的虚拟终端,只有在主机前的控制台才有可以切换的ttyv0,ttyv1等。
2,不好意思,第二个问题,我没有看懂。
好久没有上这个BLOG了~~  回复  更多评论   

只有注册用户登录后才能发表评论。