该文件路径为 ~/.ssh/config 用于保存ssh配置。
将其他服务器的登录信息配置在这里,以后可以使用 ssh host-name 快捷登录
本文主要记录 ~/.ssh/config 的基本使用
vi ~/.ssh/config配置服务器
一个简单的配置如下,按照此配置后,使用 ssh home-server 即可连接到该服务器。
Host home-server
HostName 10.115.15.25
User root
Port 22
IdentityFile ~/.ssh/id_ed25519为了实现无密码登录,此处需要使用密钥
注意:此处的密钥文件需要将权限设置为600 -rw------- 仅所有者可读写
如果key还未生成,可以使用命令 ssh-keygen 生成公私钥对
公钥文件以 .pub 结尾,需要将此文件上传到目标服务器
上传公钥
公钥上传并写入到 ~/.ssh/authorized_keys 文件,每行一个
此文件不存在可以自行创建,但注意需要修改权限为600
chmod 600 ~/.ssh/authorized_keys如果仍然无法连接,需要修改服务器ssh配置
此处的最佳实践是创建 /etc/ssh/ssh_config.d/99-custom.conf 将新的配置添加到该文件中
# 修改ssh端口
Port 53387
# 关闭密码登录并启用强制密钥认证
PasswordAuthentication no
AuthenticationMethods publickey
# 禁用root远程登录(只能通过VNC等本地登录),你应该尝试使用普通用户登录,之后却换到root
AuthorizedKeysFile .ssh/authorized_keys
PermitRootLogin prohibit-password关于 PermitRootLogin,其实还有另一种选择
- yes:运行root远程登录
- no:禁止root远程登录
- forced-commands-only:允许root远程通过密钥登录,只能执行特定命令
- prohibit-password:允许root远程登录,但是只能使用密钥登录
最后不要忘记重新sshd
systemctl restart sshd
systemctl restart ssh