• 260 likes • 526 Views
LINUX 服务器管理技术. 田 钧. 第十五章 TELNET、OPENSSH. TELNET 的简介 TELNET 的安装 TELNET 的使用 OPENSSH 简介 OPENSSH 安装 OPENSSH 配置 OPENSSH 使用. TELNET 简介. TELNET 简介 Telnet 协议是 TCP/IP 协议族中的一员,是 Internet 远程登陆服务的标准协议。 应用 Telnet 协议能够把本地用户所使用的 计算机变成远程主机系统的一个终端。. TELNET 的简介.
E N D
LINUX 服务器管理技术 田 钧
第十五章 TELNET、OPENSSH • TELNET的简介 • TELNET的安装 • TELNET的使用 • OPENSSH简介 • OPENSSH安装 • OPENSSH配置 • OPENSSH使用 2
TELNET简介 • TELNET简介 Telnet协议是TCP/IP协议族中的一员,是 Internet远程登陆服务的标准协议。 应用Telnet协议能够把本地用户所使用的 计算机变成远程主机系统的一个终端。 3
TELNET的简介 • Telnet远程登录过程1)本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名;2)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据报;3)将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;4)最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。 4
TELNET的安装 • TELNET的安装 (REDHAT AS 3.0) # rpm -ivh telnet-0.17-26.i386.rpm # rpm -ivh telnet-server-0.17-26.i386.rpm • TELNET安装信息 # rpm -qip telnet-0.17-26.i386.rpm # rpm -qip telnet-server-0.17-26.i386.rpm 5
TELNET的配置 • TELNET的重要文件 /etc/xinetd.d/telnet TELNET服务配置文件 /usr/sbin/in.telnetd TELNET服务守候程序 /usr/bin/telnet TELNET终端工具 6
TELNET的配置 • 编辑/etc/xinetd.d/telnet # default: on # description: The telnet server serves telnet sessions; it uses # unencrypted username/password pairs for authentication. service telnet { disable = yes ; 如果需要启动telnet服务需要把yes改为no flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID } 7
TELNET的配置 • Telnet服务限制 telnet以明文传送口令和数据,如果对其默认的设置不满意,可以对其服务范围进行限制。 假设主机的IP地址是210.45.160.17,可以按以下方式设置: #vi /etc/xinetd.d/telnet service telnet { ..... Disable = no #激活 telnet 服务,no only_from = 210.45.0.0/16 #只允许 210.45.0.0 ~ 210.45.255.255 这个网段进入 only_from = .edu.cn #只有教育网才能进入! no_access = 210.45.160.{115,116} #这两个IP地址不可登陆 access_times = 8:00-12:00 20:00-23:59 #每天只有这两个时间段开放服务 ...... } 8
TELNET的启动 • 启动telnet服务 # service xinetd restart • 查看服务是否启动 # netstat -an |grep LISTEN |grep :23 tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN (Telnet服务监听tcp 23号端口) 9
TELNET的使用 • 使用telnet服务登陆 # telnet 192.168.2.202 Trying 192.168.2.202... Connected to 192.168.2.202 (192.168.2.202). Escape character is '^]'. Red Hat Enterprise Linux AS release 3 (Taroon Update 2) Kernel 2.4.21-15.EL on an i686 login: admin Password: $ 10
TELNET的使用 • 允许root直接登录 默认情况下系统不允许root直接登陆,如果要 允许root直接登录,编辑/etc/securetty ,增 添如下行到文件尾部。 pts/0 pts/1 pts/2 … 11
TELNET的缺点 • 明文传输,容易捕获 • 漏洞较多,易导致缓存溢出 • 效率不高 12
OPENSSH的简介 • OPENSSH的简介 • OpenSSH是SSH(Secure SHell)协议的免费开源实现。它用安全、加密的网络连接工具代替了telnet、ftp、rlogin、rsh和rcp工具。该协议默认使用RSA钥匙 • OpenSSH支持SSH协议的版本1.3、1.5和2。自从OpenSSH的版本2.9以来,默认的协议是版本2。最新OpenSSH版本:3.9 13
OPENSSH的简介 • OPENSSH优点 • 加密方式传输 • 传输数据经过压缩,可加快传输速 • 可实现远程控制、数据传输(拷贝及FTP方式) 14
OPENSSH的安装 • 安装OPENSSH (redhat as 3.0) # rpm –ivh openssh-3.6.1p2-33.30.1.i386.rpm # rpm –ivh openssh-clients-3.6.1p2-33.30.1.i386.rpm # rpm –ivh openssh-server-3.6.1p2-33.30.1.i386.rpm 15
OPENSSH配置 • OPENSSH 主要配置文件和程序 /etc/pam.d/sshd pam认证配置文件 /etc/rc.d/init.d/sshd 启动脚本 /etc/ssh/sshd_config 主配置文件 /usr/sbin/sshd 服务守候程序 /usr/bin/sftp 安全ftp工具 /usr/bin/scp 安全拷贝工具 /usr/bin/ssh 安全登陆工具 16
OPENSSH配置 • 配置文件/etc/ssh/sshd_config # more sshd_config #Port 22 #Protocol 2,1 #ListenAddress 0.0.0.0 #ListenAddress :: … # Logging #SyslogFacility AUTH SyslogFacility AUTHPRIV #LogLevel INFO … # Authentication: #LoginGraceTime 120 #PermitRootLogin yes #StrictModes yes #RSAAuthentication yes #PubkeyAuthentication yes #AuthorizedKeysFile .ssh/authorized_keys … 17
OPENSSH配置 • 一些OPENSSH的缺省配置 监听所有网络接口;使用TCP 22号端口; #Port 22 #ListenAddress 0.0.0.0 记录有关认证信息 #SyslogFacility AUTH SyslogFacility AUTHPRIV #LogLevel INFO 允许root直接登陆 #PermitRootLogin yes 18
OPENSSH配置 • RSA 和 DSA 认证协议 RSA 和 DSA 认证协议的基础是一对专门生成的密钥,分别叫做专用密钥和公用密钥。在许多情况下,有可能不必手工输入密码就能建立起安全的连接。 SSH 协议第一版支持基于 RSA 的认证。 SSH 协议第二版支持使用 RAS 或 DSA 算法。 19
OPENSSH配置 • RSA认证协议, RSA 密钥对的生成 # ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: 64:c8:a8:fc:a8:ca:60:a3:cf:90:7a:61:9b:2e:f0:e7 root@gdlc-gongguan # 20
OPENSSH配置 • RSA认证协议,RSA 密钥的安装 私钥的安装 私钥存放在用户根目录下的 $HOME/.ssh/id_rsa中 。 公钥的安装 公钥存放在 $HOME/.ssh/id_rsa.pub中. 用户应该把id_rsa.pub复制到远程服务器中, 改名 $HOME/.ssh/authorized_keys 存放到用户根目录下。 例如: $ scp ~/.ssh/ id_rsa.pubuser@remote: $ cat id_rsa.pub >> ~/.ssh/authorized_keys 21
OPENSSH配置 • DSA认证协议,DSA 密钥对的生成 # ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/root/.ssh/id_dsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_dsa. Your public key has been saved in /root/.ssh/id_dsa.pub. The key fingerprint is: 1b:31:87:ee:a8:ba:67:0c:04:24:02:bb:1a:0f:00:8d root@gdlc-gongguan # 22
OPENSSH配置 • DSA 密钥对的安装 私钥的安装 私钥存放在用户根目录下的 $HOME/.ssh/ id_dsa中 。 公钥的安装 DSA 公用密钥的安装几乎和 RSA 安装完全一样。公钥存放在 $HOME/.ssh/ id_dsa.pub中. 用户应该把id_dsa.pub复制到远程服务器中, 改名 $HOME/.ssh/authorized_keys 存放到用户根目录下。 例如: $ scp ~/.ssh/ id_dsa.pubuser@remote: $ cat id_dsa.pub >> ~/.ssh/authorized_keys 23
OPENSSH使用 • Openssh的使用 $ ssh admin@192.168.2.202 Enter passphrase for key '/home/admin/.ssh/id_dsa': 输入你的DSA认证密码 $登陆成功 $ ssh admin@192.168.2.202 Enter passphrase for key '/home/admin/.ssh/id_rsa': $输入你的RSA认证密码 $登陆成功 24
OPENSSH使用 • Openssh的使用 # ssh gongguan@192.168.2.202 The authenticity of host '192.168.2.202 (192.168.2.202)' can't be established. RSA key fingerprint is 00:eb:d3:41:f0:92:14:8b:30:20:2a:5d:32:71:c8:32. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.2.202' (RSA) to the list of known hosts. gongguan@192.168.2.202's password: $ • scp(安全、加密的连接在机器间传输文件) 把本地文件传输给远程系统语法: scp localfile username@desthostname:/newfilename localfile 指源文件, username@desthostname:/newfilename 指目标文件。 把远程文件传输给本地系统语法: scp username@desthostname:/remotefile /newlocalfile remotefile 指源文件, newlocalfile指目标文件 25
结束 • 练习1 配置telnet服务器 实现功能: 1、实现本地用户登陆 2、允许root用户直接登陆系统。 • 练习2 配置openssh服务器 实现功能: 1、实现本地用户登陆 2、使用rsa认证,登陆系统不许密码 3、禁止root用户直接登陆系统。 4、更改ssh监听端口为222 26