实用的知识教程
汇智娱乐万赢棋牌游戏大全 > 网络知识 >  正文

一文学会 SSH 服务

2020-01-12 19:05:37 来源: 汇智娱乐万赢棋牌游戏大全 记者 汇智娱乐万赢棋牌游戏大全

我是一名云计算工程师,在实际工作中经常遇到很多人把使用windows那套习惯带来linux上来,其中最严重的一点就是使用密码的方式来进行登录鉴权。我不止一次的提醒他们不要在Linux上使用密码而应该使用密钥的方式鉴权,因为密钥比密码从安全性上来说根本不是一个量级的。

本文我就详细带大家来全方位的了解下SSH以及在Linux 系统中的使用和一些简单的使用技巧。

1.什么是SSH?

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

在早期其实也有一些例如 telnet这样的工具,如果你是一名网络管理员,在操作交换机和路由器时候一定会和telnet 打过交道,但是telnet 协议是明文传输的,因此它并不安全。正是由于这个原因后来有了SSH,SSH全称:Secure Shell,安全的命令解释器,为客户机提供安全的Shell环境,用于远程管理,默认端口:TCP 22,它被广泛的应用在unix 和Linux 操作系统中。

在Linux中的SSH 主要是 OpenSSH。

主要软件包:openssh-server、openssh-clients

服务名:sshd

服务端主程序:/usr/sbin/sshd

客户端主程序:/usr/bin/ssh

服务端配置文件:/etc/ssh/sshd_config

客户端配置文件:/etc/ssh/ssh_config

要通过SSH 来登录计算机非常的简单,只需要执行如下命令即可:

ssh user@ip

例如要通过root 用户登录52.33.1.2这台机器则执行:

ssh root@52.33.1.2

即可,它会默认使用22端口来进行登录。

SSH服务器端配置文件sshd_config,默认在/etc/ssh/目录下面的sshd_config 文件。

2.SSH登录的用户验证方式

密码验证:使用服务器中系统帐号对应的密码;

密钥对验证:使用客户机中生成的公钥、私钥。

密码验证

密码验证需要在系统中设置一个密码,设置密码如下:

[root@centos ~]# passwd root

Changing password for user root.

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

只要你的SSH 没有禁止密码登录,并且用户属性没有设置成nologin,都可以通过密码来进行连接即可。但是密码登录非常的不安全,互联网上几乎无时无刻不遭受恶意入侵,入侵者通过暴力破解的方式来对目标系统进行密码破解。最简单的破解只需要三中个工具即可完成。

masscan 扫描目标主机哪些端口是开放的;

hydra 可以指定ip和词典来对目标主机进行密码暴力破解;

词典。

以下面的命令解释,入侵者要破解58.12.95.153这台机器的ssh密码。只需要知道它的端口和用户名就可以,程序会代替人自动去进行密码校验直到试出正确密码。

root@ubuntu:~# hydra -s 22 -v -l root -P pass.txt 58.12.95.153 ssh

只要入侵者的密码库足够丰富,破解的机器性能足够强大,破解不是问题。而一般人所使用的密码并不会特别复杂,因此密码的方是破解非常简单。

密钥认证

SSH 支持通过密钥的方是来进行验证,包括rsa算法或dsa 算法等。例如rsa 算法,RSA加密算法是一种非对称加密算法,在公开密钥加密和电子商业中被广泛使用。

1977年,三位数学家Rivest、Shamir 和 Adleman 设计了一种算法,可以实现非对称加密。这种算法用他们三个人的名字命名,叫做RSA算法。从那时直到现在,RSA算法一直是最广为使用的"非对称加密算法"。毫不夸张地说,只要有计算机网络的地方,就有RSA算法。

这种算法非常可靠,密钥越长,它就越难破解。根据已经披露的文献,目前被破解的最长RSA密钥是768个二进制位。也就是说,长度超过768位的密钥,还无法破解(至少没人公开宣布)。因此可以认为,1024位的RSA密钥基本安全,2048位的密钥极其安全。

要使用密钥认证,首先需要创建一对密钥对,执行ssh-keygen -t rsa按几次回车键即可生成密钥文件。

[root@centos ~]# 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:

SHA256:eHM9jL0Ry+hxt7H3ShEsKlkAxPvnKgN8KejMQ8iot3s root@centos

The key's randomart image is:

+---[RSA 2048]----+

| oo.. |

| . . . |

| . . o o |

| .. o O + . |

|o. o .oS * X + |

|o.o + o..=.o = = |

|.= + o. . + .|

|. * E o . . ..|

| .o= o.. ...|

+----[SHA256]-----+

默认情况下所生成的密钥文件在 ~/.ssh/ 目录下:

[root@centos ~]# cd ~/.ssh/

[root@centos .ssh]# pwd

/root/.ssh

[root@centos .ssh]# ls

authorized_keys id_rsa id_rsa.pub

其中:

id_rsa 是私钥文件;

id_rsa.pub 是公钥文件;

相关新闻
凡注有"汇智娱乐万赢棋牌游戏大全"的稿件,均为汇智娱乐万赢棋牌游戏大全独家版权所有,未经许可不得转载或镜像;授权转载必须注明来源为"汇智娱乐万赢棋牌游戏大全",并保留"汇智娱乐万赢棋牌游戏大全"。
博评网