1. 配置
生成的 SSH Key 默认存储在 ~/.ssh
目录下,可以使用 ls ~/.ssh
查看之前是否已经生成过 SSH Key,如果提示 No such file or directory
可以使用如下指令用于生成 SSH Key:
1 |
ssh-keygen |
接着会询问保存文件的位置以及是否要设定 passphrase,如果设定了 passsphrase 那么每次使用该 SSH Key 的时候都需要输入这个 passsphrase,可以根据自己对安全性的需求设定,空白表示不设定。
如果采用默认的设置,那么会在 ~/.ssh
路径下生成两个 Key,一个私钥 id_rsa
,另一个公钥 id_rsa.pub
,私钥需要好好保管。
2. 使用 ssh-copy-id
如果操作系统中有 ssh-copy-id
,那么可以直接使用以下命令设置:
1 |
ssh-copy-id -i ~/.ssh/id_rsa.pub username@server |
- username:连接服务器的用户名
- server:服务器的域名或者 ip 地址
- ~/.ssh/id_rsa.pub:默认的公钥地址,如果修改过 SSH Key 存储地址,请填写对应地址
3. 复制公钥到服务器的 authorized_keys 中
1 |
ssh username@server 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys' < ~/.ssh/id_rsa.pub |
上述命令用于在远程服务器上创建 ~/.ssh
文件夹并用本机的公钥创建服务器上的 ~/.ssh/authorized_keys
文件,接着设置权限:
1 |
ssh username@server 'chmod 700 -R ~/.ssh && chmod 600 ~/.ssh/authorized_keys' |
4. 验证
经过上述的配置之后,可以再次进行 SSH 连接验证配置是否生效:
1 |
ssh username@server |
如果不需要输入密码就能够连接服务器,说明设置生效。