首页 > 解决方案 > ssh 配置文件可以从另一个文件中读取吗?

问题描述

我想修改我的~/.ssh/config文件,以便它从文本文件中读取 IP 地址。例如:

Host prod-app
    HostName ip-address-here
    User root
    Port 22
    IdentityFile ~/.ssh/my-key

由于我的 EC2 实例在部署后具有不同的公共 IP 地址,因此我试图找出一种方法,我可以简单地从文本文件中读取它。因此,而不是上面,它看起来像这样:

Host prod-app
    HostName $(cat $HOME/Documents/app_prod.txt)
    User root
    Port 22
    IdentityFile ~/.ssh/my-key

由于以下错误,这不起作用:

/Users/nutella/.ssh/config line 33: garbage at end of line; "$HOME/Documents/app_prod.txt)"

有没有一种简单的方法来完成这项工作,或者是偶然的更好的方法?

标签: bashssh

解决方案


您可以使用包含语句:

Host prod-app
    include ~/Documents/app_prod.txt
    User root
    Port 22
    IdentityFile ~/.ssh/my-key

app_prod.txt:

HostName  192.0.2.1

推荐阅读