1.Telnet协议定义:远程登陆协议,用于对设备进行远程管理,基于明文目前不建议使用,建议采用SSH协议,采用TCP 23号端口 2.原理:Telnet12.0.1.28/telnet route-server.ip.att.net telnet的C/S模式 telnet采用客户端/服务器模式。下图为telnet客户端和服务器连接图: 如图为: telnet使用的传输协议为TCP。 telnet连接的任何回显信息,最终都会输出到终端上。 服务器进程直接与“伪终端设备”交互。 客户端和服务器通过一条TCP连接来传输命令和数据。 Telnet客户进程同时与终端用户和TCP/IP协议模块进行交互。 服务器进程则经常与伪终端设备进行交互,服务器直接调用登陆SHELL进程。 大方框里的内容一般是操作系统内核的一部分,而客户进程和服务器进程则是应用程序。 1.SSH协议定义:Secure Shell,安全外壳协议,简称ssh,是一种建立在应用层基础上的安全协议,通过对密码进行加密传输验证,可在不安全的网络中对网络服务提供安全的传输环境,实现ssh客户端和ssh服务器端的连接,所以ssh是基于C/S结构的 ssh是一种安全通道协议,主要用来实现字符界面的远程登陆,远程复制等功能。 ssh默认使用22号端口,采用密文的形式在网络中传输数据,它将客户端与服务端之间的消息通过加密保护起来,这样就无法被窃取或者篡改了。相较于明文传输的telnet,具有更高的安全性。 ssh采用口令和密钥两种用户验证方式,这两者都是通过密文传输数据的。 ssh协议建立连接的过程为: tcp三次握手 ssh协议版本协商 服务器端把公钥发给客户端 加密算法协商 客户端使用公钥对服务器端的密码加密并发送给服务器端 服务器端收到后用自己的私钥解密后得到用户名密码和本地密码对比,验证成功允许登录,否则需要客户端再次输入密码验证 ssh是应用层协议,它的传输层协议是tcp,所以在ssh登录之前必定会有tcp连接 ssh是C/S架构,客户端通过ssh协议远程登录服务器端,所以它必须要有服务器端的密码,并发送给服务器端,以便服务器验证成功后,才能运行客户端登录自己 OPENSSH服务由openssh,openssh-sever,openssh-cilents等软件包 openssh:包含OpenSSH服务器及客户端需要的核心文件 openssh-clients:OpenSSH客户端软件包 openssh-sever:OpenSSH服务器软件包 基于密钥(钥匙琐头)的安全验证 基于密钥的安全验证方式是指,需要依靠密钥,也就是必须事先建立一对密钥对,然后 把**公用密钥(锁头:public key)放在需要访问的目标服务器上,另外,还需 要把**私有密钥**放到**ssh的客户端或者对应的客户端服务器上。具体过程 安装ssh协议的命令 1.sudo apt install openssh-client #本地主机运行此条,实际上通常是默认安装client端程序的 2.sudo apt install openssh-server #服务器(被登陆的机器)运行此条命令安装 运行ssh远程传输协议 运行起来之后,在服务器端会有一个sshd的进程。 查看是否运行sshd进程的命令 1.ps -elf|grep sshd 当有root用户下面的 /usr/sbin/sshd -D 这一条显示 表示服务器端有运行了ssh协议。 查看是否能连同到这个服务器端 //首先ping上服务器端的IP地址 处于同一个局域网内 ping 192.168.43.50 //然后用其他电脑登陆到服务器上 //首次登陆的时候会问是否接受保持密钥 输入yes 最后输入服务器端的用户的密码