SSH下authorized_keys, id_rsa, id_rsa.pub, known_hosts作用[通俗易懂]

SSH下authorized_keys, id_rsa, id_rsa.pub, known_hosts作用

大家好,又见面了,我是全栈君。

一、known_hsots

ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告, 避免你受到DNS Hijack之类的攻击。我在上面列出的情况,就是这种情况。

原因:一台主机上有多个Linux系统,会经常切换,那么这些系统使用同一ip,登录过一次后就会把ssh信息记录在本地的~/.ssh/known_hsots文件中,切换该系统后再用ssh访问这台主机就会出现冲突警告,需要手动删除修改known_hsots里面的内容。

有以下两个解决方案:

1. 手动删除修改known_hsots里面的内容;

2. 修改配置文件“~/.ssh/config”,加上这两行,重启服务器。

StrictHostKeyChecking no
UserKnownHostsFile /dev/null

优缺点:

1. 需要每次手动删除文件内容,一些自动化脚本的无法运行(在SSH登陆时失败),但是安全性高;

2. SSH登陆时会忽略known_hsots的访问,但是安全性低;

二、authorized_keys

1、就是为了让两个linux机器之间使用ssh不需要用户名和密码。采用了数字签名RSA或者DSA来完成这个操作

2、模型分析

假设 A (192.168.20.59)为客户机器,B(192.168.20.60)为目标机;

要达到的目的:

A机器ssh登录B机器无需输入密码;

加密方式选 rsa|dsa均可以,默认dsa

(1)单向登陆的操作过程(能满足上边的目的):

1、登录A机器

2、ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub

3、将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys

4、大功告成,从A机器登录B机器的目标账户,不再需要密码了;(直接运行 #ssh 192.168.20.60 )

(2)双向登陆的操作过程:

1、ssh-keygen做密码验证可以使在向对方机器上ssh ,scp不用使用密码.具体方法如下:

2、两个节点都执行操作:

#ssh-keygen -t rsa

然后全部回车,采用默认值.

3、这样生成了一对密钥,存放在用户目录的~/.ssh下。

将公钥考到对方机器的用户目录下,并将其复制到~/.ssh/authorized_keys中(操作命令:#cat id_dsa.pub >> ~/.ssh/authorized_keys)。

三、id_rsa、id_rsa.pub

上班的第一天,上司大哥都会说:待会给我发个公钥吧。

这里说的公钥其实就是id_rsa.pub。

上司大哥是要把我们的客户端公钥上传到服务器,然后再把这个客户端公钥添加到authorized_keys。添加后,服务器就会认为你这个客户端为可信任。你则可以访问这个服务器了。

获取id_rsa.pub

终端输入

ssh-keygen

一路回车,最后会看到一个矩形的图案。

你这时ls是看不到.ssh文件夹的。

cd .ssh/

这样就会切换到.ssh,再ls

就会看到id_rsa 和id_rsa.pub

open ./

就会打开这个文件夹了。

现在你可以发id_rsa.pub给你的上司大哥了。

SSH下authorized_keys, id_rsa, id_rsa.pub, known_hosts作用[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111795.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Cholesky分解法可以将矩阵分解为,其中L为_半正定矩阵cholesky分解

    Cholesky分解法可以将矩阵分解为,其中L为_半正定矩阵cholesky分解头文件:/**Copyright(c)2008-2011ZhangMing(M.Zhang),zmjerry@163.com**Thisprogramisfreesoftware;youcanredistributeitand/ormodifyit*underthetermsoftheGNUGeneralPublicLicenseasp…

    2025年7月9日
    3
  • vue 表单验证内容隐藏_vue中input获取焦点

    vue 表单验证内容隐藏_vue中input获取焦点如果你用vue或者element的ui去验证发现很麻烦。如果你只想简单验证:其实html自带了验证:这里required就是必填,pattern就是正则规作者:古红平链接:https://www.zhihu.com/question/37099220/answer/81969475来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。去搜索一下属性就知道了。https://www.w3schools.com/…

    2025年5月23日
    5
  • python查看pkl文件保存模型参数_python 文件路径

    python查看pkl文件保存模型参数_python 文件路径#show_pkl.pyimportpicklepath=’E:/somecode/Faster-RCNN-TensorFlow\default/voc_2007_trainval/default/vgg16_faster_rcnn_iter_10000.pkl’#path=’/root/……/aus_openface.pkl’pkl文件所在路径f=open(path,’rb’)data=pickle.load(f)print(data)print(len(

    2025年8月30日
    6
  • json转字符串 python_Python读取json

    json转字符串 python_Python读取json序列化与反序列化按照某种规则,把内存中的数据保存到文件中,文件是一个字节序列,所以必须要把内存数据转换成为字节序列,输出到文件,这就是序列化;反之,从文件的字节恢复到内存,就是反序列化;pytho

    2022年7月28日
    5
  • 3500元计算机基本硬件配置清单,电脑硬件中配配置清单

    3500元计算机基本硬件配置清单,电脑硬件中配配置清单电脑硬件中配配置清单导语:攒机一直是电脑爱好者热衷的事,自己选购各配件,组装一台适合自己要求的机器给很多DIYer带来了极大的欢乐。下面小编为你整理的电脑硬件中配配置清单,希望对你有所帮助!电脑硬件中配配置清单1、实用性机型建议:首选1:intelG1620双核+H61M主板。(价格低廉性能不弱,超值!)首选2:intelG1840双核+H81M主板。(核心显卡性能比G1620更强)2、中级机…

    2022年7月12日
    15
  • VS2010 编译 SpiderMonkey 1.8.5 静态库版本[通俗易懂]

    VS2010 编译 SpiderMonkey 1.8.5 静态库版本[通俗易懂]大家好,前段时间看到VC驿站上面会员发布了一篇文章《Windows系统编译制作SpiderMonkey最新版mozjs-31.2.0版本》,地址为:http://www.cctry.com/thread-250698-1-1.html过程写的很详细,使用的也是目前来说SpiderMonkey的最新版本31.2.0,不过我之前用的一直是1.8.5版本,用老的版本编译出来的SpiderMonkey

    2022年10月16日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号