为 SSH 设定默认身份及禁用密码登录

为 SSH 设定默认身份
当有多组 SSH 身份(公-私钥对)时,每次连接服务器都使用 -i 参数指定私钥略显繁琐,因此可以在配置文件中设定默认使用的私钥。
为特定服务器设定默认身份
在 ~/.ssh/config 中,填入服务器配置:
1 | Host <friendly name> |
只要填入 IdentityFile 字段,即可实现为此服务器指定默认身份。
为全部服务器设定默认身份
如果只有一两个服务器使用其他身份,而现在以及未来使用的大部分服务器都使用一个身份,那可以在 ~/.ssh/config 中直接加入一行:
1 | IdentityFile <path to private key> |
这样,即使连接配置文件中未出现的服务器,SSH 也会默认使用在这里指定的私钥。
为 ssh-copy-id 设定默认身份
ssh-copy-id 默认使用最新创建的公钥文件 。因此,只需要 touch <path to public key> 即可让 ssh-copy-id 传输特定的公钥。
在服务器端禁止通过密码登录 SSH
openssh-server
使用 openssh-server 的服务器,sshd 的配置文件在 /etc/ssh/sshd_config 与 /etc/ssh/sshd_config.d/ 下。想实现禁止密码登录,将 sshd_config 中
1 | #PasswordAuthentication yes |
修改为
1 | PasswordAuthentication no |
即可。或者也可以在 sshd_config.d 下创建新配置文件,并将上一行内容写入其中。
修改配置文件后,使用 sudo systemctl restart sshd 重启 SSH daemon,就可以重新载入配置。
OpenWRT 与 dropbear
OpenWRT 的默认 SSH 服务端是 dropbear。其配置文件位于 /etc/config/dropbear。将与密码相关的两行修改为 'off',即可实现禁止密码登录:
1 | config dropbear |
修改配置文件后,使用 /etc/init.d/dropbear restart 重启 dropbear,就可以重新载入配置。
- 标题: 为 SSH 设定默认身份及禁用密码登录
- 作者: Limonene
- 创建于 : 2024-01-03 15:04:02
- 更新于 : 2024-01-23 19:57:29
- 链接: https://limonene.top/2024-01-03/为-SSH-设定默认身份及禁用密码登录/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论