Mac 免密登录服务器

远子 â€¢  2020å¹´05月25日

假设我们有三台设备:

  • Mac
  • 服务器150, ip为: 192.168.1.150
  • 服务器151, ip为: 192.168.1.151
  • 服务器152, ip为: 192.168.1.152

我们通过配置 ssh key 的方式实现在 Mac 上免密登录这三台服务器.

配置 zsh 的 alias

编辑 ~/.zshrc 文件

vi ~/.zshrc

加入以下 alias:

alias ssh150="ssh root@192.168.1.150"
alias ssh151="ssh root@192.168.1.151"
alias ssh152="ssh root@192.168.1.152"
alias ssh153="ssh root@192.168.1.153"

执行以下命令使改动生效:

source ~/.zshrc

在 Mac 上生成 key

# 如果没有 .ssh 文件夹, 请手动创建
cd ~/.ssh

# 生成秘钥
ssh-keygen -t rsa -C "you_email@example.com"

# 一路回车, 生成 id_rsa 文件

一路回车, 默认会生成 id_rsa 秘钥:

将 id_rsa.pub 远程拷贝的 服务器150 上

cd ~/.ssh
scp ./id_rsa.pub root@192.168.1.150:/root/.ssh

# 会提示输入 服务器150 的登录密码

让服务器认识 Mac 的秘钥

在前两步, 我们在 Mac 上生成了秘钥并远程拷贝到了 150 上, 现在我们通过 ssh 远程登录服务器:

ssh root@192.168.1.150
# 会提示输入 服务器150 的登录密码

登录成功后, 到 /root/.ssh 文件夹:

cd /root/.ssh

# 可以 ls 查看一下, 上一步远程拷贝过来的 id_rsa.pub 文件是否存在

# 如果没有 authorized_keys 的话, 则创建一个

# 将 id_rsa.pub 里的秘钥追加到 authorized_keys 中
cat id_rsa.pub >> authorized_keys

# 删除 id_rsa.pub
rm -rf id_rsa.pub

# 退出
exit

到此配置完成, 可以执行 ssh150 验证一下, 如果正常的话, 可以顺利免密登录.

其他几台服务器的配置同理.

(完)