SSH 通过密钥配置免密登陆主机

2019-05-08 16:10:15 浏览数 (1)

本地创建 rsa 密钥对

备份原密钥
代码语言:javascript复制
cd ~/.ssh/
mkdir key_bak
cp id_rsa* key_bak
创建 rsa 密钥对
代码语言:javascript复制
ssh-keygen -t rsa -C "abc@gamil.com"

这一步会提示输入密钥存放位置、名称、密码等,可以一直回车使用默认值。 新生成的密钥对会覆盖原密钥。

登陆远程主机创建授权文件

按照正常方式登陆

代码语言:javascript复制
ssh root@192.168.18.9

⚠️注意,这一步以 root 用户登陆,可能和你的不同,不够之后的配置都相对一致。 登陆成功后,在用户目录下创建 .ssh/authorized_keys 授权文件,该文件存放你之前创建的密钥对的公钥(id_rsa.pub)内容。

代码语言:javascript复制
cd ~
mkdir .ssh
cd .ssh
touch authorized_keys

复制本机 id_rsa.pub 内容到 authorized_keys,保存即可。

创建远程 host 别名

完成上述步骤后,你可以在次尝试登陆。

代码语言:javascript复制
ssh root@192.168.18.9

现在你会发现,无需输入密码即可登陆成功,说明 authorized_keys 配置成功,接着我们给这个主机配置一个别名。

代码语言:javascript复制
vim ~/.ssh/config

添加如下内容,并保存。

代码语言:javascript复制
# 本地测试服务器
Host cs189
        HostName 192.168.18.9
        Port 22
        User root

由于我的主机是位于18.9 网段的 centOS 系统,所以我给他一个 cs189 的别名。 现在,我就可以简单的通过如下命令登陆主机了。

代码语言:javascript复制
ssh cs189

0 人点赞