Linux 远程登录服务:telnet和ssh

Linux 远程登录服务:telnet和ssh
通常情况下远程登录我们使用telnet服务,Red Hat Linux带有telnet服务器的软件包,我们需要安装telnet-server和xinetd两个软件包:
[root@rh73 ~]# rpm -ivh /mnt/cdrom/RedHat/RPMS/telnet-server-0.17-20.i386.rpm
[root@rh73 ~]# rpm -ivh /mnt/cdrom/RedHat/RPMS/xinetd-2.3.4-0.8.i386.rpm
 
设置telnet服务:
一、允许telnet登录
编辑/etc/xinetd.d/telnet
[root@rh73 ~]# vi /etc/xinetd.d/telnet
修改为:   disable=no
其内容如下:
# default: on
# description: The telnet server serves telnet sessions; it uses \
#       unencrypted username/password pairs for authentication.
service telnet
{
        disable = no
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/in.telnetd
        server_args     = -h
        log_on_failure  += USERID
}
其中“server_args     = -h”一行的作用是在用户从远程登录过来时,只显示一个login:的提示符,不至于被别人搭眼一看就知道你用的是什么系统,增强对系统的保护。
默认的root用户是不允许telnet权限的,建议你给你的系统添加一个普通用户帐号:
[root@rh73 ~]# useradd pangty
 修改该帐号密码:
 [root@rh73 ~]# passwd pangty
然后启动xinetd服务:
 [root@rh73 ~]# /etc/rc.d/init.d/xinetd start
 或:[root@rh73 ~]#service xinetd start
现在就可以用telnet命令来测试一下了。
二、让root用户也能够从远程登录
编辑/etc/pam.d/login文件
vi /etc/pam.d/login
修改为:#auth       required  pam_securetty.so
其内容如下:
#%PAM-1.0
#auth       required    pam_securetty.so
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
session    required pam_stack.so service=system-auth
session    optional pam_console.so
保存,重启服务即可
[root@rh73 ~]#service xinetd restart
或:[root@rh73 ~]#/etc/rc.d/init.d/xinetd restart

三、ssh的安装与使用
多年来telnet已经是Internet上实现远程登录的实事上的标准,但telnet是以ASCII明文通信的,所以它是一种不安全的服务,这一特性也使telnet成为臭名昭著的安全隐患。对于远程登录来说,更多的场合下我们推荐使用ssh,ssh在连接两端为主机和客户端都使用认证密钥,并且数据也经过加密后传输。Red Hat Linux同样也提供了ssh服务器端的rpm包。在Linux系统中,使用SSH 通讯程序称为OpenSSH,ssh程序可以通过网络登录到远程主机并执行命令,它提供了很强的安全验证,可以在不安全的网络中进行安全的通信。
    SSH软件由两部分组成,一部分是服务器端软件包,另一部分是客户端软件包.
    SSH还分为SSH1和SSH2两个版本, SSH1是第一个版本, SSH2是第二个版本,它的功能比第一个版本功能大.
    SSH的配置文件位于/etc/ssh/目录下,客户端程序的配置文件是ssh_config,服务端程序的配置文件是sshd_config.
ssh的安装:
[root@rh73 ~]# rpm -ivh /mnt/cdrom/RedHat/RPMS/openssh-3.1p1-3.i386.rpm
[root@rh73 ~]# rpm -ivh /mnt/cdrom/RedHat/RPMS/openssh-server-3.1p1-3.i386.rpm
ssh的启动|停止:
    /etc/rc.d/init.d/sshd      start|stop
登录远程系统:(telnet  ssh)
    1) 以root身份登录到远程系统192.168.1.100
         ssh    192.168.1.100
         …..  (yes/no): yes
    2)以abc身份登录到远程系统192.168.1.100
          ssh    -l  abc  192.168.1.100
        或:
          ssh    abc@192.168.1.100
    3)以root身份登录到远程系统192.168.1.100后,执行  cat   /etc/fatab后,把结果返回.
       ssh  192.168.1.100   cat  /etc/fstab
与远程系统进行文件传输( ftp   sftp) 
   1) 以root身份登录到远程系统192.168.1.100
         sftp     192.168.1.100
   2) 以abc身份登录到远程系统192.168.1.100
         sftp    abc@192.168.1.100
   3) 以abc身份登录到远程系统192.168.1.100后进入/usr/local目录.
    ssh    abc@192.168.1.100:/usr/local
    显示在sftp 目录下可以使用的命令
     sftp>?
常用的sftp命令有:
get----下载文件
put----上传文件
pwd----显示远程机的当前路径
rmdir----删除远程机的目录
mkdir----在远程机上建立目录
!----进入本地机的shell,exit退出
在windows中,ssh需要支持ssh的客户端软件才能进行登录,常用的是PuTTY,这是一个简单实用的小工具,可以从这里下载到PuTTY: http://www.chiark.greenend.org.uk/~sgtatham/putty/
如果服务器在防火墙后面,还需要设置好防火墙的安全规则或转发功能。