刚刚有一个关于使用ClusterSSH(cssh)与我们内部用来连接远程机器的本地ssh-like / ssh-clone应用程序的简单问题。
我尝试使用$HOME/.csshrc或/etc/csshrc (甚至通过-C )传递ssh = /path/to/ssh_clone覆盖。 不幸的是,运行debuggingcssh显示它仍然试图连接到远程计算机,而不是ssh_clone -l user machine_ip 。
任何想法/build议如何解决这个将不胜感激。 TIA。
编辑:版本信息
$ cssh -v Version: 4.01_02
如果你的ssh_clone与ssh具有相同的基本调用语义(看起来像是这样),一个简单的替代方法是将ssh_clone放在它自己的目录中,重命名为ssh,然后在新的目录下运行cssh你的PATH。 只要cssh在你的PATH中searchssh,它就会首先find你的克隆版本,并使用它。
如果您经常从命令行运行cssh,则可以使用简单的包装脚本,以便正常的ssh调用仍然可以获得正确的程序:
#!/bin/sh # cssh_wrapper.sh PATH="/path/to/ssh_clone_dir:${PATH}" export PATH cssh "$@"
仔细检查你是否正在修改正确的文件。
当你运行cssh它会自动写出一个~/.csshrc文件。 在我的版本这个文件有48行。 不必编辑新文件,而必须修改以ssh=开头的行。
validation是否使用cssh -u | grep ^ssh=正确设置了configuration cssh -u | grep ^ssh= 。
如果你想修改/etc/csshrc ,我很确定用户主目录中的.csshrc (已经存在并且有ssh=行)覆盖全局configuration。
如果没有这些帮助,请删除所有这些configuration文件,运行一次cssh (不需要参数),然后修改您的主目录中生成的.csshrc 。
更新:因为它似乎仍然无法正常工作,请尝试validation您的版本是否没有打补丁或什么的。 尝试使用grep parse_config_file $(type -p cssh)作为提示。