首页 > 解决方案 > 如何将 ssh 指向配置文件

问题描述

我刚刚切换了本地系统,所以我必须使用 ssh 密钥再次回到服务器。我通常ssh david@server用来进入。但由于我已经切换到新机器,我可以进入服务器的唯一方法是ssh -i path/to/id_rsa_server david@0.0.0.0指向我机器上的私钥。

现在我已经.ssh在从上一台机器复制过来的文件夹中设置了一个配置文件。该文件如下所示:

Host server
    Hostname 0.0.0.0
    User david
    IdentityFile ~/.ssh/id_rsa_server

如何让 ssh 系统再次识别配置文件?

标签: ubuntussh

解决方案


通常 ssh~/.ssh/config将从/etc/ssh/config.

去测试:

  1. 使用-v带有 ssh 的标志来查看您的配置文件是否已加载。v正如评论所建议的那样,您可以使用额外的 s like来增加详细程度-vvv
user@pc:~$ ssh -v server
OpenSSH_8.2p1 Ubuntu-4, OpenSSL 1.1.1f  31 Mar 2020
debug1: Reading configuration data /home/user/.ssh/config
debug1: /home/user/.ssh/config line 1: Applying options for server
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
  1. 检查所有者和权限.ssh/config。目录权限应为 700,并检查所有权。第 1 步可能会给出提示。
user@pc:~$ ls -ld --  .ssh*/
drwx------ 2 user user 4096 May 25 23:05 .ssh/
user@pc:~$ ls -la .ssh/config
-rw-rw-r-- 1 user user 39 May 25 23:05 .ssh/config
  1. 启动ssh-F <path-to-config>查看是否有问题。
user@pc:~$ ssh -v -F ~/.ssh/config

上述项目应确认权限、路径和文件位置。


推荐阅读