Linux下Telnet、ssh服务的配置和使用
转自:http://hi.baidu.com/jon028/blog/item/9292035146d70510377abe05.html/cmtid/99101a012746870c1d958387
Telnet服务的配置步骤如下:
一、安装telnet软件包(通常要两个)。
1、 telnet-client (或 telnet),这个软件包提供的是 telnet 客户端程序;
2、是 telnet-server 软件包,这个才是真正的 Telnet server 软件包!
安装之前先检测是否这些软件包已安装,方法如下:
[root@wljs root]#rpm –q telnet
[root@wljs root]#rpm –q telnet-client
[root@wljs root]#rpm –q telnet-server
如果没有检测到软件包,需要进行安装,red hat linux 9默认已安装了client软件包,一般只要安装telnet-server软件包即可:
1、到我的ftp上下载软件包,方法如下:
在虚拟控制台下依次输入:
[root@wljs root]#ftp 210.45.160.27
Name:ftp
Password:ftp
ftp>cd linux
ftp>ls
ftp>get telnet-0.17-25.i386.rpm
ftp>get telnet-server-0.17-25.i386.rpm
ftp>bye
2、安装软件包
#rpm –i telnet-0.17-25.i386.rpm
#rpm –i telnet-server-0.17-25.i386.rpm
二、启动telnet服务
1、开启服务
方法一:使用ntsysv,在出现的窗口之中,将 telnet 勾选起来,然后按下 OK 即可 !
方法二:编辑 /etc/xinetd.d/telnet
#vi /etc/xinetd.d/telnet
[root@test root]# vi /etc/xinetd.d/telnet
找到 disable = yes<==就是改这里,将 yes 改成 no 即可!服务预设是关闭的
2、激活服务
telnet 是挂在 xinetd 底下的,所以自然只要重新激活 xinetd 就能够将 xinetd 里头的设定重新读进来,所以刚刚设定的 telnet 自然也就可以被激活。
[root@wljs root]# service xinetd restart
三、测试服务
[root@wljs root]#telnet ip(或者hostname)
如果配置正确,系统提示输入远程机器的用户名和密码
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(重新启动)
4、停止服务器:
#service sshd stop
二、使用OpenSSH客户端
Redhat linux 9默认已安装了OpenSSH的客户端,客户端和服务器连接时,可以使用两种验证方式:基于口令的验证方式和基于密匙的验证方式!
1、基于口令的验证方式
这种验证方式要求用户输入用户名称和密码!若没有指定用户名称和密码,则默认使用当前在客户机上的用户名!
例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
上面过程结束后,系统将会提示你输入用户名和密码!
2、基于密匙的验证方式
使用密匙的验证方式,用户先需要为自己创建一对密匙:公匙和私匙。(公匙用在要登陆的服务器上)
OpenSSH公开密匙的密码体制有RSA、DSA!
创建密匙:
例:[root@wljs /]#ssh-keygen –t rsa
回车后,要求输入使用密匙时的口令!这样便生成了公匙和私匙:放在用户主目录下的.ssh目录下,文件名:id_rsa.pub和id_rsa!必须将公匙复制到登陆的服务器的~/.ssh/目录下,并改名为:authorized_keys!然后,便可使用密匙方式登陆!
#ssh [–l username] ip地址或主机名
三、OpenSSH上常用的命令
1、不登陆远程系统使用命令
#ssh 210.45.160.17 [命令] [参数]
2、本地系统和远程系统间文件的传输
#scp a.txt root@210.45.160.17:/b.txt
#scp root@210.45.160.17:/b.txt /c.txt
3、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服务器目录中使用!