有没有办法将我的 .ssh/config 文件转发到 ssh 连接?

有没有办法将我的 .ssh/config 文件转发到 ssh 连接?

有一种方法可以将我的私钥转发到我使用该ssh -A选项连接的服务器。有没有办法转发 .ssh/config 文件?这是我保存主机别名和默认用户名的地方。由于它们是共享帐户,因此无法在这些服务器上写入 .ssh/config。

答案1

由于您无法覆盖/.ssh/config,请添加您自己的别名并引用它,如下所示:

jake@localhost: scp .ssh/config remoteserver:/home/jake/.sshjake/

jake@localhost: ssh remoteserver

jake@remoteserver: alias ssh='ssh -F ~/.sshjake/config'

jake@remoteserver: ssh someotherserver

答案2

不,据我所知,没有办法通过任何标准 ssh 客户端来做到这一点;如果存在具有这种功能的客户端,我会感到惊讶,因为这是一种超出范围的“功能”。

鉴于它是一个共享帐户(哎哟),我一开始就不想在那里拥有任何此类配置数据,但这是你的决定:)

答案3

不是直接的,但是如果您想管理共享配置文件(例如,您想将配置文件存储在本地 git 存储库中),您可以执行以下操作:

mkdir -p cfg/ssh
cp .ssh/config cfg/ssh/config
rm .ssh/config
ln -s cfg/ssh/config .ssh/config

将原始文件(现在是 ~/cfg/ssh/config)检入到您的 repo 中,然后在您的其他机器上检出一份副本并以相同的方式进行设置。

只需记住确保您在 ~/cfg 目录上设置权限,以便您不想让别人窥探其中的内容。600 或 700 通常就可以了。

答案4

我使用复制命令将多个 config-a config-b 文件合并到配置文件中,只需记住在子文件中进行编辑。

cp 配置-* 配置

相关内容