如何将 ssh 指向配置文件

Dav*_*ord 7 ssh ubuntu

我刚刚切换了本地系统,因此我必须使用 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
Run Code Online (Sandbox Code Playgroud)

如何让 ssh 系统重新识别该配置文件?

jte*_*r72 8

通常 ssh 将从~/.ssh/config或全局获取其配置/etc/ssh/config

去测试:

  1. 在 ssh 中使用-vflag 来查看您的配置文件是否已加载。正如评论所建议的,您可以使用额外的vs 来增加详细程度,例如-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
Run Code Online (Sandbox Code Playgroud)
  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
Run Code Online (Sandbox Code Playgroud)
  1. 启动ssh-F <path-to-config>查看是否存在问题。
user@pc:~$ ssh -v -F ~/.ssh/config
Run Code Online (Sandbox Code Playgroud)

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