Linux ~/.ssh目录详解和密钥对使用
在Linux系统中,~/.ssh
目录是用来存放SSH客户端配置文件和密钥的。SSH密钥对可用于验证和加密登录SSH服务器或使用SSH协议的其他服务。
known_hosts
文件:保存远程主机的公钥。当你第一次通过SSH连接到远程主机时,系统会询问你是否信任该主机,并将其公钥添加到known_hosts
文件中,以防止中间人攻击。id_rsa
和id_rsa.pub
:这是SSH密钥对的私钥和公钥。默认情况下,SSH客户端会查找这两个文件来进行身份验证。authorized_keys
文件:保存所有允许登录服务器的客户端的公钥。服务器会检查客户端提供的公钥是否在这个文件中。config
文件:用于自定义SSH客户端的行为,比如指定特定的私钥文件或者使用特定的端口。
使用SSH密钥对进行身份验证的基本步骤如下:
- 在客户端生成密钥对(通常使用
ssh-keygen
命令)。 - 将客户端的公钥
id_rsa.pub
添加到服务器的~/.ssh/authorized_keys
文件中。 - 客户端尝试SSH登录服务器时,服务器会用
authorized_keys
中的公钥来验证客户端的私钥。
示例代码:
生成密钥对:
ssh-keygen
将公钥复制到服务器:
ssh-copy-id user@server
登录服务器:
ssh user@server
评论已关闭