使用公钥+私钥:MobaXterm设置免密登录

MobaXterm虽然有记住密码功能,但使用密钥登录其优点更多:
1.安全性:密钥登录使用公钥加密技术,比传统的密码登录方式更安全(密钥登录采用的是非对称登录方式,传统采用的是对称登录方式)。能有效防止非法登录和暴力破解威胁。
2.便利性:密钥登录可以免去每次登录时输入密码的麻烦。
3.自动化:密钥登录可以与脚本和自动化工具结合使用,实现自动化部署和管理,从而提高工作效率。

一:密钥对解释

第一次使用时需要生成密钥对,之后也可以重复使用,
密钥对分为公钥和私钥
公钥:就好比一把门锁
私钥:就好比一把钥匙
现在我们需要生成Windows上 MobaXterm的密钥对,将公钥上传到远程主机上,使用私钥登录就可以免密登录啦。

二:Windows生成密钥对并放置文件夹

1.点击此处
在这里插入图片描述
2.此处进行生成密钥对,可左右滑动界面以加快生成速度在这里插入图片描述
2.复制密钥对,将其保存至windows文件夹中并命名为mk.pub.(可打开记事本方式进行编辑)
点击是即可请添加图片描述3.单击此处将私密钥同样保存至文件夹,点击是,输入mk即可,默认是 “*.ppk”,最终私钥文件名为 “mk.ppk”请添加图片描述请添加图片描述
4.查看密钥文件

按照步骤操作完毕后,会得到两个文件

① mk.pub:公钥文件,必须上传到远程主机,

② mk.ppk:私钥文件,

三、上传公钥

1.将mk.pub 公钥文件复制放至authorized_keys文件中请添加图片描述

请添加图片描述
2.将authorized_keys文件上传至远程主机 /home/durankun/.ssh/下
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

四、启用私钥,使用私钥ssh登录远程节点

1.打开MobaXterm,进行私钥登录请添加图片描述
请添加图片描述
2.并将所记住的密码删除掉请添加图片描述
请添加图片描述
请添加图片描述
双击所要登录的远程主机,此处显示拒绝登录请添加图片描述

五、 server refused our key的三种原因和解决方法

[作者也是从中解决此问题,可进入下面网站查看]

三种原因和解决方法

总结:作者也是只改了.ssh文件夹权限,得知其他用户权限不能有可写。

补充: drwxr-xr-x 就是 .ssh 文件夹的权限表示。其中,d 表示这是一个文件夹,rwx 表示所有者(在这个例子中是 username)有读、写、执行的权限,r-x 表示所属组(在这个例子中是 groupname)有读和执行的权限,但没有写的权限,最后的 r-x 表示其他用户也有读和执行的权限,但没有写的权限。

1.首先进入authorized_keys文件所保存的位置 /home/durankun/.ssh(此为上面所保存的路径)

cd /home/durankun/.ssh

ls -ld ~/.ssh命令查看其权限

ls -ld ~/.ssh

如下图:
请添加图片描述

2.得知原由后 对文件夹进行权限更改,以及对authorized_keys的权限更改。
文件夹权限更改:

chmod 700 /home/durankun/.ssh  

请添加图片描述
authorized_keys的权限更改:

chmod 600 authorized_keys

请添加图片描述

3.再次删除掉MobaXterm所记住的密码,双击远程主机即可免密登录
请添加图片描述
Tips:(1)authorized_keys此放公钥的文件名记得不要写错。
(2)对公钥和私钥明确其原理以及所生成的公钥正确使用。

--------DU01-durankun

  • 46
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,这个问题我可以回答。您可以使用Java自带的RSA算法库,结合SpringBoot开发一个生成RSA公钥私钥的接口。下面给您提供一个简单的示例代码: ``` import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.security.KeyPair; import java.security.KeyPairGenerator; import java.security.NoSuchAlgorithmException; import java.security.interfaces.RSAPrivateKey; import java.security.interfaces.RSAPublicKey; import java.util.HashMap; import java.util.Map; @RestController public class RSAController { @RequestMapping("/generateKeyPair") public Map<String, Object> generateKeyPair() throws NoSuchAlgorithmException { // 生成RSA公钥私钥 KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA"); keyPairGenerator.initialize(1024); KeyPair keyPair = keyPairGenerator.genKeyPair(); RSAPublicKey publicKey = (RSAPublicKey) keyPair.getPublic(); RSAPrivateKey privateKey = (RSAPrivateKey) keyPair.getPrivate(); // 将公钥私钥存入Map返回给前端 Map<String, Object> resultMap = new HashMap<>(2); resultMap.put("publicKey", publicKey.getEncoded()); resultMap.put("privateKey", privateKey.getEncoded()); return resultMap; } } ``` 以上代码中,我们使用了Java自带的KeyPairGenerator和RSA算法库生成了一对公钥私钥,并将它们存入了一个Map中,最后通过SpringBoot的RestController返回给前端。您可以根据实际需要进行更详细的定制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值