网站安全 SSH 密钥登录

使用 Linux 来登录有两种方式:密码登录/口令登录,但是密钥对登录(最好)

现在已经安装好 LNMP + Wordpress,来操作一下 非对称密钥

1、拿 非对称加密公共实验平台地址:118.126.105.5,密码:Aa111111 这个主机做客户端,自己的云主机作为服务器来练习。使用 putty 成功登陆实验平台,使用命令 生成密钥对

ssh-keygen -t rsa
image.png

输入 y 后就可以再次输入密码,需要给个密码,一样是给 Aa111111

image.png

这时候就已经是生成了公钥的状态图,现在进去看一下

ls
cd .ssh
ls

已经生成了这几个文件

image.png

分别是 认证文件 私钥 公钥

2、上传公钥到服务器端上去

scp id_rsa.pub [email protected]:/root
image.png
image.png

回答 yes 后输入 云主机密码

image.png

已经拷贝过来了,我们再来登录 putty 的自己云主机上面

image.png

通过直接输入 ls 看到了刚刚考过来的公钥。在 云主机的 putty 上面要重定向到 ssh 文件上面,但是还没有 ssh 文件夹 ,所以想要进行新建文件夹 ssh,不过得先输入命令看看是否它已经建好了这个文件夹 ssh

cat id_rsa.pub >>/root/.ssh/authorized_keys

来看一下它是否自动生成,cat 是一种追加方式,如果执行就是是说明他已经建好了这个文件夹

image.png

命令是成功的,ls 进入文件夹查看

image.png

可以看到他已经把 公钥 自动生成了这个文件

image.png

并且看好文件夹的目录在哪里 /root/.ssh

image.png

做一下权限的修改,别的用户不能读,修改权限

chmod 600 /root/.ssh/authorized_keys
image.png

ll 查看

image.png

只有用户本身可以读可以写,其他的不行’,其他用户权限全部收回来了

3、修改配置文件

vim /etc/ssh/sshd.config

或者先进入 /etc/ssh 看看配置文件在哪里

image.png

找到 sshd_config 配置文件来修改它

vim sshd_config
image.png

进入后需要修改两个地方,点 i 进行编辑,密钥保存放的位置就不需要进行修改了

AuthorizedKeyFile  .ssh/authorized_keys #公钥保存的位置
image.png

第二个是允许密码自动登录吗,也就是禁止使用密码验证登录,改成

PasswordAuthentication no

我们改为不允许,设置为锁定用户不能用密码登录,将后面的 yes 变成了 no

image.png

第三个是是否使用公钥验证

image.png

它被隐藏起来了,我们要去掉 # ,并且将它改为

PubkeyAuthenticaion yes 
image.png

存盘退出

image.png

4、重启服务器

systemctl restart sshd
image.png

重启服务器成功

现在重新登进去云主机的服务器里面是没有办法登进去了吗,是因为他已经限制了不能够使用密码登录了,就是在上面我们修改的的密码禁止密码登录那里

image.png

现在要回到 实验平台的 putty 里面直接输入并且登录后面的云主机服务器是可以使用

Aa111111 密码登陆进去的,输入命令

ssh [email protected]
image.png

要求输入密码

image.png

成功进入

image.png

之前是13,现在显示是12,打印路径来看一下

image.png
cd .ssh
ls

进入显示的不是我们的客户端的服务器,而是云主机的服务器,所以是已经登陆在云主机的服务器上面去了

ip 是13 ,登陆过了之后就变成了 12 ,并且登陆了之后就变成本地端的事情了

通过了非对称密钥登录进去了,而不是通过密码登录的

这时候想以密码的方式来进行登陆的话那就不能够登录进去了,只能够通过公钥进行登录

使用window 来登录的话就是只能够使用xshell,你连接他的话就是必须要下载它的私钥保存在本地,你才能够进行登录

现在想要登录 118 这个服务器来将它的私钥给弄下来,先登录 118 的putty,这个是允许密码登录的

打开是可以看到有 公钥 和 私钥 ,所以我们必须要把私钥下载下来

image.png

先进行 copy 将私钥拷贝过来

cp id_rsa /home

先拷贝到 home 里面再来查看

image.png

已经将私钥复制到了 /home 目录下面了

现在使用一个传输软件把他传到本地,并且使用一个 windows 的方法来连接

这时就可以使用 FXP 来进行文件传输,其实是使用 SSH,但我现在还没有安装,可以去看看之前的教程是怎么样子弄的,用的就是 SSH 传输也就是所说的 windows 方法,应该就是图形界面的意思

image.png

登录的用户名一般都是最高权限 root 才对

image.png
image.png

找到 /home 文件夹,看到有了刚刚复制过来的 id_rsa文件,就将它复制到本地端,直接拖移动复制一份过来

image.png

现在要下载一个 xshell 文件来进行配置

image.png
image.png
image.png

菜单栏文件里面的新建

image.png

用户身份验证将密码登录变成了公钥登录,并且上传刚刚下载好的公钥文件

image.png

导入刚刚从客户端中下载下来的私钥

image.png
image.png

自己再次设置密码 00000000


image.png
image.png

密码错误原来不是自己设置

image.png

那应该就是客户端的密码 Aa111111

image.png
image.png

也不对那就是我自己的服务器的密码了

image.png
image.png

这个也是错的,3个密码都错了那该怎么办

最后还是成功了,输入的是客户端的 118 的密码 Aa111111

image.png

再次输入密钥非常重要,免得被别人登录浏览,选择点击确定

image.png

密钥已经有了就可以输入用户名,并点击连接来进行登录了


image.png

选择一次性接受,就只是会有一次,但是如果是选择和保存的话那就是永远都是可以使用的

image.png
image.png

现在是已经登录成功了

image.png

所以这个方法是使用 windows 方法的公钥来进行登录

image.png

但是打出了 ls 并不是在 /home的目录下面,cd /home 是报错的。我打印了当前路径竟然显示我的是在自己电脑的本地端上面的C盘文件夹里面,所以就很奇怪,于是我退出来重新进入后,就需要我先一次性登录再来进行密码登录,输入密码就显示连上了服务器云主机。所以说刚刚的连不上是因为它没有更新还是在本地端,因为下载软件的配置文件就是在本地端没有更新,打出来的命令也一样就是在本地端运行

image.png
image.png
image.png

这个样子才是登录成功了

image.png
image.png

我再来尝试了一遍,没有输入正确的用户名,所以密码也没有输入就退出来了。依然是显示182key,我 ls 看到了刚刚出现的问题,并且我打印当前路径就是显示 xshell 所安装的路径,就是说它如果连不上去的话就会跳转到本地端文件安装的路径位置

所以说我现在要好好保存密钥别轻易乱动密钥,位置的移动以后再说,就先暂时放在桌面的功课里面的 linux 文件夹里面先,因为如果将它放在第四周课件的话我怕密钥位置的改变也会影响我的 xshell 的登录,那么就又要重新来操作一遍

你可能感兴趣的:(网站安全 SSH 密钥登录)