Linux .ssh_config使用

25 年 12 月 7 日 星期日 (已编辑)
417 字
3 分钟

该文件路径为 ~/.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

文章标题:Linux .ssh_config使用

文章作者:violet

文章链接:https://www.vio.vin/posts/linux-ssh-config-shi-yong[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。