MacOS 下配置 ssh 密钥认证自动登录

SSH 认证方式

SSH 的认证有两种方式

  • 基于密码的安全验证
  • 基于密钥的安全验证

第二种方式无疑是安全并且方便的——不用担心密码的泄漏,也不用频繁的输入密码。结合 ssh 配置文件更可实现“一句登录”

配置

创建公钥与私钥

1
$ ssh-keygen -t rsa -C  '这里填写你的Email'

确认之后需要设置密钥文件保存到的地址,习惯保存在 ~/.ssh 目录下,如果不存在此目录请先使用 $mkdir ~/.ssh 命令新建

之后的密码设置留空即可(也可为了安全设置密码)

创建完成后,将会生成两个文件:公钥文件(后缀名为 .pub)、私钥文件(无后缀名)

将公钥复制到服务器

1
2
3
4
$ scp <本地公钥文件.pub> <登录用户名>@<服务器ip>:~/id_rsa.pub	#将公钥文件拷贝为远程服务器的 ~/id_rsa.pub 文件
$ ssh <登录用户名>@<服务器ip> #登录至ssh服务器
$ #mkdir .ssh #若 .ssh 目录不存在请执行此步
$ cat id_rsa.pub >> .ssh/authorized_keys #将公钥文件id_rsa.pub文件内容追加到$ authorized_keys文件

配置快捷登录

1
vim ~/.ssh/config

打开 vim,在配置文件中追加以下内容(如果文件不存在直接新建保存即可)

1
2
3
4
5
Host <想要设置的别名>
Hostname <服务器 ip>
Port <ssh 端口,通常为22>
User <登录的用户名>
IdentityFile <私钥文件名>

完成后按 esc 键进入命令模式,输入 :x 推出 vim

连接

1
ssh <在配置文件中设置的别名>

出现类似于以上的样式则配置完成