SSH,全称Secure Shell,是一种网络协议,用于安全地在不安全的网络上执行命令并传输数据。SSH在计算机世界中广泛使用,特别是在进行远程系统管理和安全文件传输方面。
SSH提供了一种安全的通道,用于两个在不安全的网络(如互联网)上的系统之间的通信。它使用公钥加密来验证远程计算机和允许远程计算机验证用户。
SSH主要提供以下功能:
SSH的默认端口是22,但可以在服务器配置中更改。
SSH协议有两个主要版本,SSH1和SSH2。SSH2包含了对SSH1的许多改进,并且解决了SSH1中的许多安全问题。因此,SSH2是首选的SSH协议版本。
SSH的一个重要组成部分是SSH密钥对,它包括一个公钥和一个私钥。公钥存储在远程服务器上,私钥保留在本地计算机上。当尝试通过SSH连接到服务器时,服务器会使用存储的公钥来加密一个消息,然后发送到客户端。客户端使用其私钥解密消息并发送回服务器,从而验证其身份。这种方式提供了一种强大的身份验证方法,而无需传输密码。
在Linux实际运维当中,ssh分服务端(SSHD)和客户端(ssh),服务端其实一般代表的就是别人可以通过ssh连接到服务器,而客户端则代表我们可以通过ssh协议连接其他服务器,而不用借助其他辅助工具,比如下面这些常见的ssh软件(类UNIX系统都会自带)
总结一下,常见的SSH软件主要包括以下几种:
以上只是常见的SSH软件,实际上还有很多其他的SSH客户端和服务器软件,用户可以根据自己的需要选择合适的工具。
在服务器领域不仅有Linux,也有WIN的服务器,Linux通用的是ssh(默认端口22),而win是一个RDP的协议(默认端口3389)
RDP(Remote Desktop Protocol)是微软公司开发的一种远程桌面协议。通过RDP协议,用户可以在本地计算机上创建和管理远程计算机的会话,就像直接在远程计算机前操作一样。
RDP协议的主要特点和功能包括:
尽管RDP协议提供了强大的远程桌面功能,但是它也有一些局限性,例如,它通常需要较高的网络带宽,并且在一些特定的应用场景下,性能可能不如专门设计的协议(如VNC,PCoIP等)。此外,如果RDP协议的安全设置配置不当,可能会被攻击者利用。
VNC,全称是Virtual Network Computing,是一种图形界面的远程控制技术。通过VNC协议,用户可以在本地计算机上操作远程计算机的桌面环境。
VNC工作原理是:在远程计算机上运行一个VNC服务器程序,它会把屏幕图像(或者改变的部分)以图形的形式通过网络传送到本地计算机的VNC客户端。本地计算机上的用户可以看到远程计算机的桌面,并可以通过鼠标和键盘来操作远程计算机。
VNC协议的特点:
VNC的常见应用包括远程技术支持,远程访问和控制,网络教育等。值得注意的是,尽管VNC协议提供了访问远程桌面的功能,但是它的性能可能不如专门的远程桌面协议(如RDP,PCoIP等),特别是在网络带宽有限或者图形复杂的情况下。
VNC协议在云厂商使用比较多,可以等效于显示器来使用,在云厂商的网页控制台里面一般都可以找到。在互联网早期,云并未大面积普及的时候,如果误操作导致网络异常,是无法通过ssh或者rdp连接的,就可以提供额外的vnc方式去连接(前提是你额外配置过,主要针对虚拟机)。独立服务器还可以通过ipmi/带外方式进行操作。
本次操作选择的是我熟悉的Xshell
需要准备就是服务器的IP,端口,账号,密码,如果未配置可参考网络Linx基础-网络章节
特别注意:Linux是可以设置为空密码的,如果通过控制台(显示器)输入账号以后是可以直接进入系统,不需要密码的,但是在ssh连接的时候是必须用密码的,如果出现服务器为空密码的情况,是无法ssh连接进去的。
根据提示输入账号密码,一般为了方便管理,都会在这里记录账号密码,以后再次连接都可以直接进入,不用额外输入账号密码。