使用 cssh 和 ssh 克隆

使用 cssh 和 ssh 克隆

我只是想问一下关于使用ClusterSSH(cssh)使用我们内部用来连接远程机器的自行开发的 ssh-like/ssh-clone 应用程序。

我尝试ssh = /path/to/ssh_clone$HOME/.csshrc或中使用覆盖/etc/csshrc(甚至通过 传递它-C)。不幸的是,cssh使用调试运行显示它仍然试图以 而ssh -l user machine_ip不是连接到远程机器ssh_clone -l user machine_ip

如果您能提供任何关于如何解决此问题的想法/建议,我们将不胜感激。TIA。

编辑:版本信息

$ cssh -v
Version: 4.01_02

答案1

如果您的 ssh_clone 具有与 ssh 相同的基本调用语义(看起来确实如此),那么一个简单的替代方法是将 ssh_clone 放在其自己的目录中,将其重命名为 ssh,然后运行 ​​cssh 并将该新目录放在 PATH 的开头。只要 cssh 在您的 PATH 中搜索 ssh,它就会首先找到您的克隆版本并使用该版本。

如果您经常从命令行运行 cssh,则可以使用一个简单的包装脚本,这样正常的 ssh 调用仍然可以获得正确的程序:

#!/bin/sh
# cssh_wrapper.sh
PATH="/path/to/ssh_clone_dir:${PATH}"
export PATH
cssh "$@"

答案2

仔细检查您是否修改了正确的文件。

运行时cssh它会自动写出一个~/.csshrc文件。在我的版本中,这个文件有 48 行。您无需编辑新文件,只需修改以 开头的行即可ssh=

使用 验证配置是否正确设置cssh -u | grep ^ssh=

如果您尝试修改/etc/csshrc,我很确定.csshrc用户主目录(已经存在并包含该ssh=行)中的将覆盖全局配置。

如果这些都没有帮助,请删除所有这些配置文件,运行cssh一次(不需要参数),然后修改.csshrc主目录中生成的文件。

更新:既然它似乎仍然不起作用,请尝试验证您的版本是否未打补丁或类似的东西。尝试grep parse_config_file $(type -p cssh)获取提示。

相关内容