SSH使用秘钥保护你的安全
本文最后更新于 495 天前,其中的信息可能已经有所发展或是发生改变。 原创文章保留所有权利,允许提前告知征得同意并在明显位置保留原文链接的转载,任何无视版权的行为将受到搜索引擎的 DMCA 投诉。

众所周知,ssh可以通过密码登录,但是可能被有心之人穷举破解,然后 cd / && rm-rf *

那么秘钥如何保证你的安全呢?

在创建秘钥的时候,会生成两个文件,一个叫“公钥”,一个叫“私钥”
公钥存放在你的Linux服务器上,另一个存放在你的ssh客户端上。当客户端发起连接时,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

看不懂?

客户端:请求连接
服务器:好的,我找一下authorized_keys,然后我造一个随机数,用公钥加密了,再给你
客户端:我用我的私钥解密,加上本次会话的ID加密发给你
服务器:和我计算的一样,同意连接

配置过程

1. 制作密钥对

[[email protected] ~]$ ssh-keygen  <== 建立密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
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:
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 [email protected]

2. 安装公钥

[[email protected] ~]$ cd .ssh
[[email protected] .ssh]$ cat id_rsa.pub >> authorized_keys
[[email protected] .ssh]$ chmod 600 authorized_keys
[[email protected] .ssh]$ chmod 700 ~/.ssh

3. 打开密钥登录功能
编辑 /etc/ssh/sshd_config

RSAAuthentication yes
PubkeyAuthentication yes
PermitRootLogin yes # root 用户能否通过 SSH 登录

4.安装私钥

下载刚刚生成的私钥,用putty/xshell等登陆
以密钥方式登录成功后,再禁用密码登录:

PasswordAuthentication no
半亩方塘 , 版权所有丨如未注明 , 均为原创丨本网站采用CC BY-NC-SA 3.0 CN反996许可证协议进行授权
转载请注明原文链接:SSH使用秘钥保护你的安全
上一篇
下一篇