[叶子]记一次给自己服务器启用公钥私钥登录并禁用密码登录ssh

此文有更新,可点击这里快速跳转到更新部分

前几天恰好学到《用公钥认证的方式对服务器进行ssh登录》,然后就打算在自己的服务器上面实践一番

上课的时候老师发下来的文档
上课的时候老师发下来的文档

半个多月没登服务器,登录之后发现自从我上次登录以来居然有四千多次失败的登录尝试

登录时的提示
登录时的提示

于是就开始着手准备启用公钥认证的登录方式,先创建一对2048位的使用rsa加密方式的密钥,接着就提示设置密钥的密码,要求输入两次以便确认,完事之后就会显示出当前的服务器密钥

创建密钥(公钥+私钥)
创建密钥(公钥+私钥)

接下来就是给密钥文件设置权限,按照openssh的要求,这些目录和文件的权限必须是这些,没啥解释,设置完权限之后将公钥内容导入到ssh用于认证的文件中,此处我的密钥文件的文件名是“root_rsa_2048”,公钥的文件名就是在私钥的文件名后面加上“.pub”,如果此处提示没有“authorized_keys”文件的话就自行用touch命令创建一个,或者先导入公钥之后再执行设置权限

设置权限并导入公钥
设置权限并导入公钥

在完成上面的操作之后编辑ssh服务端的配置文件

使用vim编辑ssh服务端配置文件
使用vim编辑ssh服务端配置文件

在配置文件中找到“PubkeyAuthentication”,并将这项设置启用,然后修改为yes

在配置文件中查找并修改“PubkeyAuthentication”的值为yes
在配置文件中查找并修改“PubkeyAuthentication”的值为yes

找到“AuthorizedKeysFile”,看看是不是图中这个值,如果是的话就不管,不是的话就改成图中这样

在配置文件中查找并检查“AuthorizedKeysFile”的值
在配置文件中查找并检查“AuthorizedKeysFile”的值

接着找到“PasswordAuthentication”,将它的值改为“no”(注意:此操作将禁用密码验证,也就是无法再使用密码登录了

在配置文件中查找并修改“PasswordAuthentication”的值为no
在配置文件中查找并修改“PasswordAuthentication”的值为no

接下来在配置文件的底部加上“RSAAuthentication”并设置为“yes”,最后再检查一遍,配置文件没有错误的话就报错然后退出编辑器

在配置文件中添加“RSAAuthentication”并将其的值设置为yes
在配置文件中添加“RSAAuthentication”并将其的值设置为yes

然后挑选一个自己趁手的方式,从服务器上下载私钥到本地

下载私钥文件
下载私钥文件

然后在你的ssh客户端上导入私钥,我这里用的是系统自带的openssh,使用以下命令导入ssh私钥:

sc config ssh-agent start=auto
net start ssh-agent
ssh-add "私钥文件路径"

三条命令,前两条需要管理员权限,用途是将“ssh-agent”服务设置为自动启动,然后手动启动这个服务,最后那一条是导入私钥文件。经测试,使用私钥登录服务器必须启动ssh-agent服务,不然会无法登录。导入的时候会提示你输入你在创建的时候设置的密码,如果输入正确,会提示成功添加。

导入私钥文件
导入私钥文件

在确定你本地环境准备完毕之后就到服务器上面重启sshd服务,重启服务的命令不同系统各不相同,Redhat系的Linux系统是用“systemctl restart xxx”重启,Debian系的是“service xxx restart”(“xxx”是要操作的服务的名称)

重启ssh服务
重启ssh服务

在重启完成之后,在已导入私钥的电脑上登录服务器不再需要输入密码,在没有导入私钥的电脑上将无法登录服务器,所以请妥善保管你的私钥


12.7更新:

今天登上服务器想看看有啥软件能更新的,结果发现还有将近700次失败的登录,上网搜了一下,说是禁用密码登录就可以解决,但我明明已经把密码登录禁了,于是去检查配置文件,发现还有没删干净的地方开了密码验证。。。。。。于是就去把那处地方注释掉了,随后重启了ssh服务,过几天再看看效果吧

评论

  1. Android Chrome 89.0.4389.116
    2年前
    2021-12-26 20:56:07

    高中学centos,被狠狠的震撼到了

    • 博主
      随意之光
      Windows Edge 96.0.1054.62
      2年前
      2021-12-27 11:29:18

      我大二

      • 叶子
        Android Chrome 92.0.4515.131
        2年前
        2021-12-27 11:31:19

        这篇文章的作者是你啊,我以为是高冰呢

        • 博主
          随意之光
          Windows Edge 96.0.1054.62
          2年前
          2021-12-27 11:33:40

          你不看文章顶部的“作者”的吗。。。

          • 叶子
            Android Chrome 96.0.4664.55
            2年前
            2021-12-27 11:37:53

            emm,手机上也没有作者啊

            • 博主
              随意之光
              Windows Edge 96.0.1054.62
              2年前
              2021-12-27 11:42:24

              好吧,刚刚用手机看了一下,确实没显示作者 抱歉

  2. Windows Edge 96.0.1054.34
    2年前
    2021-11-27 22:48:27

    妙啊

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
酷安
滑稽
贴吧
上一篇
下一篇