linux下安装SSH服务及使用详解

linux下安装SSH服务及使用详解,第1张

secure shell protocol简称SSH,是由IETF网络工作小组(network working group) 制定,在进行数据传输之前, SSH先对联级数据包通过加密技术进行加密处理,加密后在进行数据传输,确保了传递的数据安全.

SSH是 专门为远程登录会话和其他网络服务(例如:rsync,ansible)提供的安全性协议 ,利用SSH协议可以有效的防止远程管理过程中的信息泄露问题,绝大多数企业普遍采用SSH协议服务来代替传统的不安全的远程连接服务器软件(例如:Telnet/23端口/非加密的)等.

然后开始输入用户名

右击选中追踪流,在右侧再选中TCP流

即可显示数据包的全过程,圈中的部分是用户名,之所以每个单词重复出现,是因为数据有请求,有确认,所以会重复,去重以后就是用户名:shuai,密码:123456

在显示 yes/no 的时候,如果输入的 yes 就接收到了服务端发送过来的公钥信息,把这个信息放到了 /root/.ssh/known_hosts文件 里

SSH服务由服务端软件 OpenSSH(Openssl) 和客户端 常见的有SSH(linux),secureCRT,putty,Xshell 组成.SSH服务默认使用22端口提供服务, 他有两个不兼容的SSH协议版本,分别是1.x和2.x

如果在进行连接的时候出现以下情况,如何解决

基于口令的安全验证方式就是知道服务器的SSH连接账号和口令(也要知道对应服务器的IP地址及开放的SSH端口,默认为22端口)就可以通过SSH客户端登录到远程主机上面,此时联机过程中所有传输的数据都是加密的!

 - 演示XSHELL及SSH客户端连接,口令验证测试

基于密钥的安全验证方式是指,需要依靠密钥,也就是必须事先建立一对密钥对,然后把 公用密钥(锁头:public key) 放在需要访问的目标服务器上,另外,还需要把 私有密钥(钥匙:private key) 放到SSH的客户端或对应的客户端服务器上.

 此时,如果想要连接到这个带有公用密钥的SSH服务器上,客户端SSH软件或者客户端服务器就会向SSH服务器发出请求,请用联机的用户密钥进行安全验证,SSH服务器收到请求之后,会先在该SSH服务器上连接的用户的家目录下面寻找事先放上去的对应用户的公用密钥,然后把它和连接SSH客户端发送过来的公用密钥进行比较,如果两个密钥一直,SSH服务器就用公用密钥加密"质询(challenge)"并把它发送给SSH客户端!

 SSH客户端收到"质询"之后就可以用自己的私钥解密,在把它发送给SSH服务器,使用这种方式,需要知道联机用户的密钥文件,与第一种基于口令验证的方式相比,第二种方式不需要在网络上传送口令密码,所以安全性更高了,这是我们也注意保护我们的密钥文件,特别是私钥文件,一旦被黑获取到,危险系数增大很多.

修改SSH服务的运行参数,是通过修改配置文件 /etc/ssh/sshd_config 来实现的.

 一般来说SSH服务使用默认的配置已经能够很好的工作了,如果对安全要求不高,仅仅提供SSH服务的情况,可以不需要修改任何参数配置.

SSH服务监听参数说明

企业服务器被入侵案例

拉取:PULL

简单说,SSH是一种网络协议,用于计算机之间的远程加密登录。

SSH 为 Secure Shell的缩写,由 IETF 的网络小组(Network Working Group)所制定,SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他 *** 作平台。SSH安装容易、使用简单,而且比较常见,一般的Unix系统、Linux系统、FreeBSD系统都附带有支持SSH的应用程序包。Windows如果需要使用SSH,可以安装PuTTY或者Cygwin。

SSH 服务基于非对称加密(public-key cryptography,也称公开密钥加密)技术实现数据加密传输。该技术会生成一对数学相关的密钥, 其中一个用于对数据进行加密,而且只能用于加密,而另一个只能用于解密 。使用加密密钥加密后的数据,只能用对应的解密密钥才能解密。而且,只知道其中一个密钥,无法计算出另一个。因此,如果公开了一对密钥中的一个,并不会危害到另一个的秘密性质。通常把公开的密钥称为公钥(public key),而不公开的密钥称为私钥(private key)。

一般来说,非对称加密的应用场景有两个:

与对称密钥加密相比,非对称加密的优点在于不存在共享的通用密钥。由于解密用的私钥无需发送给任何用户,所以可以避免密钥被劫持或篡改。而加密用的公钥即便被劫持或篡改,如果没有与其匹配的私钥,也无法解密数据。所以,截获的公钥是没有任何用处的。

当前,SSH主要采用 RSA 算法(协议 V2 默认算法)和 DSA 算法(协议 V1 仅支持该算法)来实现非对称加密技术。

SSH连接时,整个交互过程如上图。,主要可以分为三个阶段

服务端在每次启动 SSH 服务时,都会自动检查 /etc/ssh/ 目录下相关密钥文件的有效性。如果相关文件检查发现异常,则会导致服务启动失败,并抛出相应错误信息。 如果文件相关不存在,则会自动重新创建。

默认创建的相关文件及用途说明如下:

当服务器SSH服务启动,客户端也安装了SSH后,就可以进行连接了。

后续登录校验及正常的数据传输,都会通过双向加密方式进行。相关交互说明如下:

从这个连接过程中,可以看出,主要使用到两个文件夹下的内容:

在连接中的两个过程:

之所以有多组密钥,是因为使用了不同的加密算法。

客户端接收到之后,会存储在 ~/.ssh/known_hosts 文件里,查看这个文件,可以看到有一行与服务器 ssh_host_ecdsa_key.pub 内容一致。

所以, ~/.ssh/authorized_keys 里表示本机可以被哪些机器访问

~/.ssh/known_hosts 里表示本机访问过哪些机器

SSH配置文件有两个,一个是 ssh_config ,一个是 sshd_config 。前者是客户端配置,后者是服务器配置。也就是说,如果本机是作为客户端,那么就修改第一个配置,如果本机是作为服务器,那么就修改第二个配置,

一般来说,和密钥登录的配置有关的有以下几个,如果密钥配置好后无法登录,尝试配置以下三项。

其他

传统的网络服务程序,如FTP、Pop和Telnet在传输机制和实现原理上是没有考虑安全机制的,其本质上都是不安全的。因为它们在网络上用明文传送数据、用户帐号和用户口令,别有用心的人通过窃听等网络攻击手段非常容易地就可以截获这些数据、用户帐号和用户口令。而且,这些网络服务程序的简单安全验证方式也有其弱点,那就是很容易受到"中间人"(man-in-the-middle)这种攻击方式的攻击。

所谓"中间人"的攻击方式,就是"中间人"冒充真正的服务器接收你的传给服务器的数据,然后再冒充你把数据传给真正的服务器。服务器和你之间的数据传送被"中间人"一转手做了手脚之后,就会出现很严重的问题。中间人能够攻击,主要原因在于他能认识截取的信息,也能发出让接受者认识的信息。

使用SSH,你可以把所有传输的数据进行加密,这样"中间人"这种攻击方式就不可能实现了,而且也能够防止DNS欺骗和IP欺骗。使用SSH,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、Pop、甚至为PPP提供一个安全的"通道"。

最初的SSH是由芬兰的一家公司开发的。但是因为受版权和加密算法的限制,现在很多人都转而使用OpenSSH。OpenSSH是SSH的替代软件包,而且是免费的,可以预计将来会有越来越多的人使用它而不是SSH。

1: ssh是数据传输加密软件

2:主要用于远程管理linux服务器

3:一般情况下在装linux系统的过程中是默认自动安装的

4:可以在终端打:service sshd status命令,如果显示sshd在运行就说明安装了


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7243816.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-03
下一篇2023-04-03

发表评论

登录后才能评论

评论列表(0条)

    保存