.ssh 文件夹是SSH(Secure Shell)协议相关服务的配置文件,用于管理远程主机的身份验证和安全连接。
本篇文章主要介绍.ssh目录下各文件的作用。
一、.ssh 文件夹
Linux中,每个用户的根目录下都有一个.ssh文件夹,存储了SSH客户端和服务器的配置文件以及密钥文件。
主要配置文件如下:
authorized_keys # 授权文件
id_rsa # 私钥
id_rsa.pub # 公钥
known_hosts # 远程其他主机公钥信息
known_hosts.old # 远程其他主机公钥信息(旧版本)
二、生成公私钥方法
使用ssh-keygen可以生成ssh协议所需要的公钥和私钥,一般命令为:
ssh-keygen -t rsa
此命令将生成一个密钥对,默认路径如下:
公钥:~/.ssh/id rsa.pub
私钥:~/.ssh/id rsa
其中私钥是必须保存在.ssh目录中的,只有该主机的该用户可以使用。而公钥是给需要使用ssh验证的服务器,使用密钥对可以免密码验证,比如ssh,scp,rsync等。
免密配置方法:
authorized_keys(授权文件):这个文件主要是允许哪个主机免密访问本机,就会把那个主机的公钥填到这个文件里面。
将主机A的id_rsa.pub内容复制到B主机的authorized_keys文件中,
1) 手工复制
2) 在A执行命令ssh-copy-id <B-ip>远程复制
这样A主机就能不通过密码连接到B主机。
三、known_hosts和known_hosts.old文件的作用及功能
known_hosts文件:这个文件包含了曾经连接过的远程主机的公钥信息。当首次连接一个远程主机时,SSH客户端会将该主机的公钥保存在known_hosts文件中。下次再次连接该主机时,客户端会验证主机的公钥是否与之前保存的一致,以防止中间人攻击。如果主机的公钥发生变化,客户端会发出警告,以进行确认。
known_hosts.old文件:当SSH客户端检测到known_hosts文件发生了变化(比如主机公钥发生了更改)时,它会将原始的known_hosts文件备份为known_hosts.old。这样可以在需要时恢复到旧的已知主机配置。
这些文件通常位于SSH客户端用户的~/.ssh/目录下,每个用户都有自己的独立副本。
请注意,known_hosts文件不包含任何敏感信息,它只存储了公钥信息以供身份验证使用。但是,如果您的系统存在安全问题,有人可能会通过欺骗您来窃取您的密钥,因此当发现known_hosts文件发生变化时,务必审查和验证公钥的有效性。
四、常见系统的.ssh文件夹位置
1、Mac查看.ssh文件夹
Mac的.ssh文件夹路径:/Users/用户/.ssh
终端输入:open ./.ssh(即可直接进入访达下对应文件夹)
2、Windows查看.ssh文件夹
Windows的.ssh文件夹路径:
C:UsersYourUsername.ssh (隐藏文件夹)
如果您觉得内容还不错的话,请关注我吧!
建议把公众号“篝火信安”设为星标,否则可能就看不到啦!因为公众号现在只对常读和星标的公众号才能展示大图推送。
操作方法:点击公众号页面右上角的【...】,然后点击【设为星标】即可。
原文始发于微信公众号(篝火信安):SSH配置文件之.ssh目录下各文件的作用
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论