Linux Telnet SSH

  Linux下Telnet、ssh服务的配置和使用
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 [email protected]

  或: [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 [email protected]:/b.txt

  #scp [email protected]:/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服务器目录中使用!
---------------------------------------------------------------------------------------------------------------
linux telnet 服务开启
今天公司有个同事弄了个Red Hat Enterprise 5装,系统装好后,发现telnet不能用,ssh是可以的。搞了好久,才给搞定,结合以前摘下的关于这方面的资料,参考如下:
 
1。概述
linux提供服务是由运行在后台的守护程序(daemon)来执行的。
守护进程的工作就是打开1个端口(port),等待(listen)进入的连接。在C/S模式中,如果客户提请了1个连接,守护进程就创建(fork)子进程来响应这个连接,而父进程继续监听其他服务的请求。
但 是,对于系统所提供的每1个服务,如果都必须运行1个监听某个端口连接发生的守护程序,那么通常意味着系统资源的浪费。为此,引入“扩展的网络守护进程服 务程序”xinetd(xinetd internet daemon)。telnet服务也是由xinetd守护的。

2。检测telnet、telnet-server的rpm包是否安装
OS:RedHat9

[root@localhost root]#rpm -qa telnet
telnet-0.17-25
//telnet*.rpm是默认安装的//
[root@localhost root]#rpm -qa telnet-server

//telnet*.rpm是默认没有安装的//

3。安装telnet-server
第3张盘上有telnet-server-0.17-25.i386.rpm
[root@localhost root]#rpm -ivh telnet-server*.i386.rpm  --这个软件包依赖于xinet这个包。

4。修改telnet服务配置文件
vi /etc/xinetd.d/telnet
service telnet
{
disable = yes
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
}

将disable=yes行前加#,或者改为disable=no
PS:
安装telnet-server后,系统才有文件/usr/sbin/in.telnetd

5。重新启动xinetd守护进程
由于telnet服务也是由xinetd守护的,所以安装完telnet-server,要启动telnet服务就必须重新启动xinetd
[root@localhost root]#service xinetd restart

[root@localhost root]#/etc/init.d/xinetd restart

6。关闭系统的防火墙,如果不能修改,则先修改下用户认证方式再试试(setup ->  Authentication configuration)
linux系统默认的防火墙是“high”

命令行界面CLI:
[root@localhost root]# setup
选择:“firewall configuration”
选择:security level——“no firewall”

7。设置root用户可以telnet主机(生产环境下不建议这样)
# vi /etc/securetty  添加pts/0,要控制root同时telnet数量,就添加多少个pts/x,其中x为0-255-...的数字。示例如下:
# cat /etc/securetty
console
vc/1
vc/2
vc/3
vc/4
vc/5
tty1
tty2
tty3
tty4
tty5
tty6
pts/0
pts/1
pts/2
pts/3

8。测试
c:> telnet IP
Trying...
Connected to IP
Escape character is '^]'.
Red Hat Enterprise Linux Server release 5 (Tikanga)
Kernel 2.6.18-8.el5 on an i686
login:

9。telnet默认开机启动
1)。命令ntsysv
找到telnet,用空格键激活(*)服务
2)。命令chkconfig
chkconfig --add telnet
chkconfig telnet on
3)。图形用户界面GUI
redhat-conhat-config-services

“主菜单”——“系统设置”——“服务器设置”——“服务”


PS:
由于telnet登陆时是明文传送密码,所以不安全,建议使用ssh(secure shell)替代!
windows下一般用F-Secure SSH ,putty SSH

10。Trouble Shooting

(1).我在我机子上输入 telnet 192.168.1.18 (装有Fedora Core 6 系统的机器)
dos提示:
Unencrypted connection refused.Goodbye.
失去了跟主机的连接

解决参考:
"Unencrypted connection refused,Goodbye"
解决办法:因为开启的Telnet server为/etc/xinetd.d/ekrb5-telnet
所以修改ekrb5-telnet项目disable=yes即可.重启服务service inetd restart即可.

(2).red hat linux enterprise 5 在从别的机上telnet  过去时出现如下错误:
(发出命令为: telnet 10.x.x.x)
getnameinfo: localhost: Success
Temporary failure in name resolution: Illegal seek
失去了跟主机的连接。

网上说只要在你的red hat linux enterprise 5的host文件中增加telnet客户端的地址,例如
10.200.1.130 clientmachine,但是加了也不行,解决参考如下:
分析原因是red hat 5的用户认证鉴权方式比较严格,且也不能修改Firewall 的设置,只要把 Authentication configuration 里的一些选项去掉便可。
# setup
选择 Authentication configuration 去掉一些认证方式,然后再修改Firewall configuration里设置。


你可能感兴趣的:(linux,FTP服务器,ssh,服务器,service,Authentication)