千古八方的博客

  • 程序开发
    • Android
    • Spring Boot
  • 数据私有化
    • NAS
    • 私有云
    • 内网穿透
    • 服务器
  • 留言
  • 搞事
进学
为学无间断,如流水行云,日进而不已也
  1. 首页
  2. 服务器
  3. 正文

Ubuntu Linux SSH 仅允许证书登录(无密码登录)

2022年6月1日 761点热度 1人点赞 0条评论

网上关于ssh证书登录(无密码登录)的文章重复率太高了,尤其CA签证的方式, 弄的很多人迷迷糊糊的, 其实CA签证这种方式99%的人根本用不到。

而Linux SSH 证书登录非常简单,首先生成密钥对(证书),然后把公钥放到openssh配置文件里, 完事。

具体操作如下:

第一步:生成证书(密钥对),导出公钥

采用Putty 、Bivise SSH Client 、或者其他你常用的工具都可以,这里以Bitvise SSH Client 为例:

  1.  打开Bitvise SSH Client ,  点击 [Client key manager] 进入客户端证书管理页面
  2.  在管理页面点击  [Generate New], 进入生成新的证书页面
  3.  在 生成证书页面,选择密钥长度,并输入证书密码
  4.  点击生成证书。 此时就就创建了一份新的证书,包含私钥和公钥。

生成证书图示步骤如下:

bitvise-ssh-client-cert

bitvise-ssh-client-cert

现在有了证书,接下来把公钥导出来,粘贴到服务器上就可以使用了。

导出步骤如下:

  1.  选择刚才生成的证书
  2.  点击[Export] 导出按钮
  3.  选择导出公钥,格式选openssh 格式。
  4.  点击导出按钮,即可拿到公钥。
bitvise-ssh-client-export

bitvise-ssh-client-export

现在得到了导出的公钥,打开后内容如下,全选复制这串公钥。注意,这是一行字符串,没有换行。

 

第二步:把公钥粘贴到服务器上。

打开openssh的配置文件 /etc/ssh/sshd_config 。

  1.  开启证书认证
  2.  开启证书位置
  3.  禁止空密码
  4.  等证书验证没问题后,禁用密码登录,防止穷举。

这几步默认的配置文件里都有,只需要取消注释(把开头的井号取消掉)即可,内容如下:

# 公钥认证,开启
PubkeyAuthentication yes
# 认证文件位置,取消井号注释,开启
AuthorizedKeysFile      .ssh/authorized_keys
# 空密码不允许登录
PermitEmptyPasswords no
# 密码认证不允许,等证书验证没问题后再禁用密码登录。
PasswordAuthentication no

然后 打开用户家目录下的 【~/.ssh/authorized_keys】 文件,把刚才复制的公钥粘贴进去。 有多人使用的话,一个公钥一行。   

qgbf@rangotec.com $ vi ~/.ssh/authorized_keys

 

第三步:验证证书登录是否正常
  1. 认证方式选择公钥认证
  2. Client key 选择刚才生成的证书文件
  3.  PassPhrase 输入生成证书时,填写的密码
  4.  点击登录,当提示 Authentication completed 时,认证完成。

 

 

现在测试证书认证通过了,就可以把第二步里的密码认证关闭了。这样服务器只能用证书登录,当有人尝试用密码登录时,会报【密码认证失败,还可以尝试公钥登录】的错误。

09:41:58.057 Connection disconnected on user's request.
09:41:58.057 The SSH connection has been terminated.
09:41:59.136 Started a new SSH connection.
09:41:59.147 Connecting to SSH server 39.107.69.xxx:22.
09:41:59.165 Connection established.
09:41:59.199 Server version: SSH-2.0-OpenSSH_8.2p1 Ubuntu-4ubuntu0.4
09:41:59.199 First key exchange started. Cryptographic provider: Windows CNG (x86) with additions
09:41:59.264 Received host key from the server. Algorithm: RSA/sha2-512, size: 3072 bits, SHA-256 fingerprint: O0LmhrempX1F/lFz5Jt2bQ5I4gfrC9m8JhEU2aTC4SI.
09:41:59.281 First key exchange completed using Curve25519. Connection encryption and integrity: chacha20-poly1305, compression: none.
09:41:59.293 Attempting password authentication.
09:41:59.326 Authentication failed. Remaining authentication methods: 'publickey'.
09:42:00.774 Authentication aborted on user's request.
09:42:00.802 The SSH connection has been terminated.

 

相关文章:

  1. Linux SSH 仅允许指定用户远程登录   可以与本文的证书搭配使用,如:限制某用户只能用证书登录。
  2. 自建 NAS, 系统安全防护配置(一)  其中限制用户登录的操作,可参考本文步骤。

 

标签: linux 服务器
最后更新:2022年6月24日

千古八方

物格而后知至,知至而后意诚,意诚而后心正

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

千古八方

物格而后知至,知至而后意诚,意诚而后心正

最新 热点 随机
最新 热点 随机
火狐下远离内容农场的方法! 中国城市生活成本查询 Debian11 系统备份与灾备盘制作 Debian logwatch 自定义配置文件,根据规则忽略掉某些日志内容 Ampache 5.0 报错 The root Ampache folder has changed to ./public socat 正反向传输文件
Nextcloud私有云自动备份手机照片 Android 实现背景图片快速高斯模糊 命令行手动升级 Nextcloud 自建NAS上,使用ssmtp向外部邮箱发送邮件 自建NAS,动态IPv6,DDNS解决方案 NAS上搭建DNS服务,统一屏蔽家庭网络上的所有广告
分类
  • Android
  • Linux
  • NAS
  • Spring Boot
  • Windows
  • 内网穿透
  • 回忆
  • 基于NEAT的瞎几把寻思算法笔记
  • 散篇
  • 普通人的致富之路在哪里
  • 服务器
  • 未分类
  • 私有云
标签聚合
Android Widgets ubuntu 内网穿透 私有云 NPS Spring Boot 安全维护 我开源的APP Nextcloud linux 群晖NAS 服务器 Windows NAS Android系统编译 Android Utils 散篇 TrueNAS
工具/友链

资源导航 – NAS、私有云存储
在线工具 – MD5、SHA、BASE64、URL编解码
在线工具 – 贷款计算器
在线工具 – IPv4/IPv6地址查询

千古八方 在 B站

千古八方 在 知乎

我的微信小程序:
微信小程序-城市生活成本查询
城市生活成本查询
库房物资流水记账簿
最近评论
Avatar photo
千古八方 发布于 1 个月前(12月28日) 重置命令是Nextcloud提供的,和哪个平台没关系。 如果报错,一般是路径或权限的问题导致的。 ...
Avatar photo
aron 发布于 1 个月前(12月24日) 博主你好 我的nextcloud管理员密码过期了 用了occ命令重置但是报错,能请教下是什么原因...
Avatar photo
千古八方 发布于 2 个月前(12月15日) 贝塞尔这个类在这里 https://gitee.com/aityu/AndroidUtils/blo...
Avatar photo
disco 发布于 2 个月前(12月05日) 有demo链接吗?贝塞尔曲线这个关键类没有写出来~
Avatar photo
HJM 发布于 3 个月前(10月20日) 必须点赞!很有效!

COPYRIGHT © 2022 千古八方的博客. ALL RIGHTS RESERVED.

京ICP备14020471号