本来是写在我的wiki中的 http://wiki.sjzri.edu.cn/index.php/Windows%E5%92%8Clinux%E4%B8%ADtelnet%E7%9A%84%E9%85%8D%E7%BD%AE
(不过我的wiki只能学校内网浏览)转过来好费劲
windows中telnet的配置
Win系列的操作系统是流传最为广泛的,那么到了Win7 这一个版本,颠覆了很多内容,在一些设置方面也有所改动。那么Win 7 Telnet的启动和设置问题我们就来简单地讲解一下。首先让我们看一下下面这个问题。
Win 7 Telnet的启动
Telnet是系统管理员常用的远程登录和管理工具,在Windows 2000/XP/2003/Vista系统中它作为标准的系统组件集成到系统中供用户使用。不过默认情况下Telnet服务是被禁止,通常情况下我们只需运行services.msc打开服务管理,找到Telnet服务项设置其启动类型为“手动”或者“自动”,然后启动该服务即可使用了。不过在Windows7中,你按照上述方法是不能找到并启用Telnet服务的。那如何找回Win 7 Telnet功能呢?
隐藏原因
其实,在服务管理器中找不到Telnet并不是Win7抛弃了Telnet,而是默认状态下Win7并没有安装Telnet服务。这也是微软第一次从个人系统中将Telnet剔出了系统默认组件之外,这和Windows Server 2008类似。我想微软这么做,应该是出于安全性考虑,毕竟Telnet的数据是以明文传输的,攻击者和容易通过嗅探获取敏感信息。基于安全性考虑,建议大家还是使用安全性更高的、加密的SSH远程管理方式。
安装Telnet
不过,我们也没有必要因噎废食,作为个人用户Telnet还是非常方便的。安装Win 7 Telnet和Windows Server 2008略有不同,大家可以通过下面的操作方法实现。依次点击“开始”→“控制面板”→“程序”,“在程序和功能”找到并点击“打开或关闭Windows功能”进入Windows 功能设置对话框。找到并勾选“Telnet客户端”和“Telnet服务器”,最后“确定”稍等片刻即可完成安装。除此之外,我们也可通过该向导安装“TFTP客户端”、“Internet 信息服务”等。
安装完成后,Telnet服务默认情况下是禁用的。还需执行“开始”→“运行”,输入servcies.msc打开服务管理器。找到并双击Telnet服务项,设置其启动方式为“手动”(更安全,只在需要的时候才启用),最后“启动”该服务“确定”退出即可。
centos6中telnet配置
安装需要的软件
[root@localhost ~]# yum install telnet
[root@localhost ~]# yum install telnet-server
[root@localhost ~]# rpm -qa | grep telnet
telnet-0.17-46.el6.i686
telnet-server-0.17-46.el6.i686
启动telnet
检查下telnet的run level.
[root@localhost ~]# chkconfig --list | grep telnet
telnet: 关闭
开启telnet
[root@localhost ~]# chkconfig telnet on
[root@localhost ~]# chkconfig --list | grep telnet
telnet: 启用
这样只是启用了客户端,要启动服务器,do like this....
[root@localhost xinetd.d]# service xinetd start正在启动 xinetd: [确定]
登录尝试
连接:windows
乱码问题自己解决[root@localhost ~]# telnet 192.168.200.22(我windows的ip) Trying 192.168.200.22... Connected to 192.168.200.22. Welcome to Microsoft Telnet Service login: malei password: *=============================================================== Microsoft Telnet Server. *=============================================================== C:\Users\malei>dir
linux
[root@localhost xinetd.d]# telnet 192.168.176.131 Trying 192.168.176.131... Connected to 192.168.176.131. CentOS Linux release 6.0 (Final)Kernel 2.6.32-71.29.1.el6.i686 on an i686 login: Password: 注:默认只允许普通用户
设置telnet端口
#vi /etc/services
进入编辑模式后查找telnet(???怎样查找)
会找到如下内容:
telnet 23/tcp
telnet 23/udp
将23修改成未使用的端口号(如:2000),退出vi,重启telnet服务,telnet默认端口号就被修改了。
Telnet服务限制
如果原本的默认值你并不满意,那么你可以修改成比较安全一点的机制。假设你这个 Linux 是一部主机,而且他有两块网络接口,分别是对外的 192.168.0.1 与对内的210.45.160.17 这两个,如果你想要让对内的接口限制较松,而对外的限制较严格,你可以这样的来设定:
#vi /etc/xinetd.d/telnet
# 先针对对内的较为松散的限制来设定:
service telnet
{ disable
= no
<==预设就是激活 telnet 服务
bind
= 210.45.160.17
<==只允许经由这个适配卡的封包进来
only_from
= 210.45.160.0/24
<==只允许 210.45.160.0/24 这个网段的主机联机进来使用 telnet 的服务
.....
}
# 再针对外部的联机来进行限制
service telnet
{
disable
= no<==预设就是激活 telnet 服务
bind
= 192.168.0.1<==只允许经由这个适配卡的封包进来
only_from
= 192.168.0.0/16<==只允许 192.168.0.0 ~ 192.168.255.255 这个网段联机进来使用 telnet 的服务
only_from
= .edu.cn<==重复设定,只有教育网才能联机!
no_access
= 192.168.25.{10,26}<==不许这些 PC 登入
access_times
= 1:00-9:00 20:00-23:59 <==每天只有这两个时段开放服务
......
}
Telnet root用户的登入
root 不能直接以 telnet 连接上主机。 telnet 不是很安全,默认的情况之下就是无法允许 root 以 telnet 登入 Linux 主机的 。若要允许root用户登入,可用下列方法
[root @test /root]# vi /etc/pam.d/login
#auth required pam_securetty.so #将这一行加上注释!
或
# mv /etc/securetty /etc/securetty.bak
这样一来, root 将可以直接进入 Linux 主机。不过,建议不要这样做。还可以在普通用户进入后,切换到root用户,拥有root的权限!
安全的ssh
SSH是一个用来替代TELNET、Rlogin以及Rsh的传统的远程登陆程序的工具,主要是想解决口令在网上明文传输的问题。为了系统安全和用户 自身的权益,推广SSH是必要的。SSH有两个不兼容的版本1.x,2.x!RedHat Linux 9将默认的远程管理服务设置成OpenSSH(一个ssh的替代产品)。不需要重新安装软件包!
配置openssh服务器
1、ssh的配置文件是/etc/ssh/ssh_config,一般不要修改!
2、启动服务器!
#ntsysv =>确认将sshd前面的勾已打上!
3、手工启动OpenSSH:
#service sshd start
#service sshd restart(重新启动)
也可以
[root@localhost init.d]# /etc/init.d/sshd stop
停止 sshd: [确定]
[root@localhost init.d]# /etc/init.d/sshd start
正在启动 sshd: [确定]
或
[root@localhost init.d]# /etc/rc.d/init.d/sshd start
正在启动 sshd: [确定]
至于rc.d与init.d的区别,请上网自查,可参考http://blog.csdn.net/malei0311/article/details/6980228
4、停止服务器:
#service sshd stop
使用OpenSSH客户端
Redhat linux 9默认已安装了OpenSSH的客户端,客户端和服务器连接时,可以使用两种验证方式:基于口令的验证方式和基于密匙的验证方式!
基于口令的验证方式
这种验证方式要求用户输入用户名称和密码!若没有指定用户名称和密码,则默认使用当前在客户机上的用户名!
例1:直接登陆
[root@wljs /]#ssh 210.45.160.17
则登陆用户名为客户机当前用户名!
例2:指定用户名登陆
[root@wljs /]#ssh wwz@210.45.160.17
或: [root@wljs /]#ssh ?l wwz 210.45.160.17
上面过程结束后,系统将会提示你输入用户名和密码!
基于密匙的验证方式
使用密匙的验证方式,用户先需要为自己创建一对密匙:公匙和私匙。(公匙用在要登陆的服务器上)
OpenSSH公开密匙的密码体制有RSA、DSA!
创建密匙:
例:[root@wljs /]#ssh-keygen ?t rsa
回车后,要求输入使用密匙时的口令!这样便生成了公匙和私匙:放在用户主目录下的.ssh目录下,文件名:id_rsa.pub和id_rsa!必须将公匙复制到登陆的服务器的~/.ssh/目录下,并改名为:authorized_keys!然后,便可使用密匙方式登陆!
#ssh [?l username] ip地址或主机名
OpenSSH上常用的命令
不登陆远程系统使用命令
#ssh 210.45.160.17 [命令] [参数]
本地系统和远程系统间文件的传输
#scp a.txt root@210.45.160.17:/b.txt
#scp root@210.45.160.17:/b.txt /c.txt
sftp命令
Sftp 命令和ftp命令类似,它是OpenSSH提供的网络传输文件的小工具,它更加安全,使用和ftp相似的命令:主要有如下几个:
1、登陆
#ftp 210.45.160.17
2、ftp 会话的打开与关闭
打开:open 210.45.160.27
关闭:close
3、文件的传输
从ftp服务器上得到文件:
Get a.txt
向ftp上放文件
Put a.txt
4、退出ftp
Bye
5、其他
bell:每个命令执行完毕后计算机响铃一次
Cd ,ls 等一些常见命令也可以在ftp服务器目录中使用!
SecureCRT
这个软件就好说了,这里就不再赘述,如遇问题自己解决
值得说明一下,如果telnet连接windows,选项-》会话选项-》外观 -》字符编码 为GB2312
如果telnet或ssh2连接linux(centos),字符编码为 UTF-8
这样乱码可消
关于防火墙问题自己解决