远程登录Linux有两种协议:telnet和ssh。
首先看一下telnet:
Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。
再来看一下ssh
Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境[1]。SSH通过在网络中创建安全隧道来实现SSH客户端与服务器之间的连接[2]。虽然任何网络服务都可以通过SSH实现安全传输,SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。
两者的区别
1,本质:telnet是明码传输,ssh是加密传输。telnet通过TCP/IP协议来访问远程计算机来控制你的设备,其传输的数据和口令是明文形式的。这样攻击者就很容易得到你的口令和数据。其方式也很简单,他以中间人的身份冒充你的设备截取你的数据,然后再把假数据再传给你的远程设备,从而达到攻击的目的。SSH是替代Telnet和其他远程控制台管理应用程序的行业标准。SSH命令是加密的并以几种方式进行保密。SSH有很多功能,它既可以代替telnet,又可以为ftp、pop、甚至ppp提供一个安全的“通道”。
2,端口区别:telnet是23 ssh是22
3,ssh分分ssh1和ssh2。两者是不兼容的版本,使用不同的协议。SSH1又分为1.3和1.5两个版本。SSH1采用DES、3DES、Blowfish和RC4等对称加密算法保护数据安全传输,而对称加密算法的密钥是通过非对称加密算法(RSA)来完成交换的。SSH1使用循环冗余校验码(CRC)来保证数据的完整性,但是后来发现这种方法有缺陷。SSH2避免了RSA的专利问题,并修补了CRC的缺陷。SSH2用数字签名算法(DSA)和Diffie-Hellman(DH)算法代替RSA来完成对称密钥的交换,用消息证实代码(HMAC)来代替CRC。同时SSH2增加了AES和Twofish等对称加密算法。
4,使用实例:
telnet 10.10.10.1 telnet 10.10.10.1 8080
ssh 10.10.10.1 ssh user@10.10.10.1
这里的ssh是指ssh1还是指ssh2,取决于你机器上安装的版本。
5,为什么有时候telnet会不好使?
这个是涉及到机器设置。首先查看telnet服务有没有开,再者看下防火墙是不是阻止了telnet,默认情况防火墙是不信任telnet的,因为他不安全。