使用SSH Key访问服务器

1. 配置

生成的 SSH Key 默认存储在 ~/.ssh 目录下,可以使用 ls ~/.ssh 查看之前是否已经生成过 SSH Key,如果提示 No such file or directory 可以使用如下指令用于生成 SSH Key:

ssh-keygen

接着会询问保存文件的位置以及是否要设定 passphrase,如果设定了 passsphrase 那么每次使用该 SSH Key 的时候都需要输入这个 passsphrase,可以根据自己对安全性的需求设定,空白表示不设定。

如果采用默认的设置,那么会在 ~/.ssh 路径下生成两个 Key,一个私钥 id_rsa ,另一个公钥 id_rsa.pub,私钥需要好好保管。

2. 使用 ssh-copy-id

如果操作系统中有 ssh-copy-id,那么可以直接使用以下命令设置:

ssh-copy-id -i ~/.ssh/id_rsa.pub username@server
  • username:连接服务器的用户名
  • server:服务器的域名或者 ip 地址
  • ~/.ssh/id_rsa.pub:默认的公钥地址,如果修改过 SSH Key 存储地址,请填写对应地址

3. 复制公钥到服务器的 authorized_keys 中

ssh username@server 'mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys' < ~/.ssh/id_rsa.pub

上述命令用于在远程服务器上创建 ~/.ssh 文件夹并用本机的公钥创建服务器上的 ~/.ssh/authorized_keys 文件,接着设置权限:

ssh username@server 'chmod 700 -R ~/.ssh && chmod 600 ~/.ssh/authorized_keys'

4. 验证

经过上述的配置之后,可以再次进行 SSH 连接验证配置是否生效:

ssh username@server

如果不需要输入密码就能够连接服务器,说明设置生效。

参考链接


使用 SSH Key 访问服务器

发布者

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注