蓝点网
给你感兴趣的内容!

Linux 操作系统设置 SSH 及 SFTP 通过密钥登录

如果你使用过 Linux 操作系统的 VPS 或其他服务器,可能在登录时经常会提示你有多少次登录失败的记录。

这种登录失败的记录实际上也就是攻击者使用脚本自动扫描全网的 IP 然后进行筛选和测试,最终脚本会使用内置的密码组尝试登录开放 22 端口的 Linux 服务器。

当然如果登录成功那么意味着你的服务器就是被黑了,除了搜寻服务器中有价值的内容外就是充当肉鸡了。

为此我们可以关闭掉 22 端口使用密钥来进行登录,这样子可以瞬间把服务器的安全性提高好几个档次呢。

以下是基本的操作流程:

1、登录 Linux 服务器来生成公钥和私钥:

[root@landian ~]# ssh-keygen                             <== 生成密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 密钥对默认路径,直接 Enter 即可
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:
2b:28:25:b6:62:2f:34:ee:f3:3:5e:76:68:37:d9:6e root@landian
The key's randomart image is:
+--[ RSA 2048]----+

2、进入刚刚生成密钥对的默认路径,然后将生成的公钥安装到操作系统上:

[root@landian ~]# cd /root/.ssh                         <== 进入密钥对所在目录
[root@landian .ssh]# cat id_rsa.pub >> authorized_keys  <== 安装公钥文件至系统 

3、键入以下命令对公钥和目录设置权限:

[root@landian .ssh]# chmod 600 authorized_keys          <== 设置 600 权限
[root@landian .ssh]# chmod 700 ~/.ssh                   <== 将目录设置 700 权限 

4、通过 FTP 工具将 SSH 配置文件(/etc/ssh/sshd_config)下载本地编辑(也可直接用 vim 进行编辑):

请将以下三项内容前的#号删除(#号为注释符、即不生效),如果对应项后面默认的是 No 则改成 Yes

Linux操作系统设置SSH及SFTP通过密钥登录

注意:如果你本身并不是使用 Root 账户登录的那么不要修改 PermitRootLogin 选项包括前面的#号。

5、修改完成后将 sshd_config 再上传并覆盖掉服务器上原有的文件,覆盖成功后重启 SSH 服务:

[root@landian .ssh]# service sshd restart       <== 重启 SSH 服务
Redirecting to /bin/systemctl restart  sshd.service

6、将私钥 /root/.ssh/id_rsa 下载到本地进行测试,以 XShell 为例在管理中把验证方法改成 Key:

依次点击用户密钥后的浏览、导入并选择刚刚下载的 id_rsa 文件,选中后点击确定即可(密码即密钥密码)

Linux操作系统设置SSH及SFTP通过密钥登录

Linux操作系统设置SSH及SFTP通过密钥登录

更改后 SFTP 连接也同样需要使用密钥进行登录,以 FileZilla 为例:

点击文件— 管理— 选择站点— 常规— 登录类型— 密钥文件— 浏览— 然后选择私钥文件,FileZilla 会提示你转成 Putty 的 PPK 格式你按提示操作即可。

7、在 SSH 和 SFTP 测试都可以使用密钥登录后我们再次编辑 SSH 配置文件(就刚刚下载的 sshd_config):

PasswordAuthentication 前面的#删除并将后面的 Yes 改成 No 即可禁止使用密码来登录 SSH 和 SFTP。

Linux操作系统设置SSH及SFTP通过密钥登录

修改后把文件保存好再次上传至服务器然后重启 SSH 服务器就大功告成啦!注意不要丢失私钥和密码哦。

[root@landian .ssh]# service sshd restart      <== 再次重启 SSH 服务
Redirecting to /bin/systemctl restart  sshd.service
[root@landian .ssh]# 
转载请注明来源于蓝点网及本文链接:蓝点网 » Linux 操作系统设置 SSH 及 SFTP 通过密钥登录
分享到: (0)
以下评论内容由网友保留所有权,除非特别注明否则所有评论均不代表本站观点!

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址