作者:admin,发布日期:2019-05-26
阅读:3351;评论:2

写在开头

通过SSH协议,用户可以通过终端机访问和使用远程linux服务器,ssh的端口为22。但每次进行连接都要输入密码。如果管理几台到十几台集群,那可以应付的的过来。如果集群增加了几百,上千台。那么使用SSH连接起来就很不方便,同时密码的安全性也不够,我们就可以使用密钥去登录Linux服务器,这样我们只需要加载密钥文件,就可以直接登录系统。

密钥的生成

工具:Xshell(Putty全家桶也可以)

打开Xshell,在工具栏中找到“新建用户密钥生成向导”并单击打开

Snipaste_2019-05-26_17-28-30.png

密钥类型可以自己选择,这里我们选择默认密钥,密钥长度2048位,如果需要更严格的加密,可以增加密钥长度,当然也会相应增加运算消耗。

Snipaste_2019-05-26_17-29-50.png

点击下一步,等待生成完成

Snipaste_2019-05-26_17-30-49.png

此处自己按照实际修改,密码可以二次加密密钥,设置密码后,只有密码正确,密钥才能使用。

Snipaste_2019-05-26_17-32-01.png

当弹出空密码提示时,点击是,密钥就会自动导入xshell密钥库,我们需要保存生成出来的公钥,放到服务器上,私钥需自己保管,不可在公共场合泄露。

Snipaste_2019-05-26_17-34-51.png

点击保存为文件,保存公钥

然后点击完成,密钥已经创建完成,我们可以使用密钥管理器,导出生成的私钥,以便其他地方使用。

Snipaste_2019-05-26_17-36-11.png

密钥的使用

使用Xshell连接服务器,并登录

mkdir -p ~/.ssh # 在用户目录下创建密钥目录
vim authorized_keys # 编辑公钥文件

复制刚刚导出的公钥,放入authorized_keys文件中

Snipaste_2019-05-26_17-39-34.png

同理,可以放入多个公钥,以换行符分隔。

至此,你的服务器应该已经同时支持密码和密钥登录了

公钥的保护

为防止其他脚本修改authorized_keys文件,我们可以对其加锁使其只读。

chattr +i ~/.ssh/authorized_keys

设置仅密钥登录

vim /etc/ssh/sshd_config # 此处需要有root权限

找到以下位置:

PasswordAuthentication yes

将yes改为no,禁止密码登录

# PubkeyAuthentication yes

将前方注释去掉,开启密钥登录

修改完后:wq!保存,并且重启sshd服务,加载配置

systemctl restart sshd.service

至此,密钥登录设置完毕

使用密钥连接服务器

使用Xshell连接服务器时,身份验证选择Public Key 然后选择刚刚的密钥,输入密钥的密码(如果没有就留空),点击确定即可连接。

Snipaste_2019-12-13_11-21-41.png

你可能感兴趣的文章

评论区

已有2位网友发表了看法:

1L 丘八  2019-06-03 18:50:41 回复
直接点开就能免密码登录?
1L admin  2019-06-19 18:12:52 回复
@丘八 是的

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。