【Linux】SSH安全免密登陆

ssh key 使用非对称加密方式生成公钥和私钥,公钥是传播给别人的,私钥存放在本地。

私钥存放在
~/.ssh
公钥对外公开,放在服务器的
~/.ssh/authorized_keys

说明!

A主机和B主机,两个主机,如果是A主机生成的公钥和私钥,那么就是A主机作为服务器,自己配置私钥,公钥分享出去,等待B主机连接。在B主机的authorized_keys文件里面写入公钥,就可以免密登陆A主机了。

生成ssh key

Windows

在Xshell里面,工具选项里
在这里插入图片描述
点击生成,就会出现下图的生成密钥的界面。
生成密钥界面
界面中看到可以选择加密方式,然后下一步,下一步就到了给密钥起名字、加密密钥的界面了,这里的加密密钥可以不写,就是不加密。可以直接下一步。

在这里插入图片描述
下一步就是保存公钥文件,点击保存文件到本地。

保存文件
返回到用户密钥管理界面。就能看到刚才创建的密钥文件了。

密钥管理

Linux生成公钥

ssh-keygen -t rsa
ssh-keygen -t dsa

这两种加密算法不同

首先进入~/.ssh/目录下,然后输入上面的生成公钥的命令。不写后面的-t rsa默认就是rsa加密算法。

Linux公钥生成
下面会让你写公钥保存到哪里,和加密密钥,这里加密密钥同样可以不设置。
在这里插入图片描述
结束之后可以使用下面命令查看是否创建成功。

ls -al

ls -al查看公钥
这里的.pub就是公钥,上面的就是私钥

使用ssh key

Windows

当我们在Xshell里面使用公钥登陆的时候
首先输入一些基本的信息。
基本信息
然后点击用户身份验证进行使用公钥登陆。
在这里插入图片描述
但是当我们连接的时候,出现了下面的情况:没有在远程主机注册。
未注册
这是因为服务器上~/.ssh/目录下面没有用authorized_keys进行备注它。
在目录下面新建这个文件,然后用vim编辑它。

vim authorized
复制刚才用windows方法生成的公钥里面的内容,粘贴到这个文件中,然后保存退出。
复制公钥
这时,再次使用刚才的操作连接服务器。
连接服务器
这时候就直接连接成功!

Linux

复制上面Linux生成的.pub里面的内容,粘贴到authorized_keys
linux公钥
然后将上面私钥添加到系统中。

ssh-add yuan_linux

但是这时候出现问题了。如下图
问题,错误
上网上搜了一下,也请教了大佬同学。有两个方法解决

1.命令
ssh-agent bash

然后在重新添加,就成功了。
注意:后面的路径要写绝对路径!
成功

2.删除

删除.ssh文件夹,重新来一遍。就可以了
因为我是先用的第一种方式,直接成功了,第二种就没再用。

最后就是登陆测试了。

成功登陆

成功登陆了,没有使用密码。

SSH端口安全

端口安全指的是尽量避免服务器的远程连接端口被不法分子知道,为此而改变默认端口号的操作。

改变服务端口

修改/etc/ssh/sshd_config配置
Port
可以将注释去掉,或者添加多个监听端口

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值