我的~/.ssh/config
文件中有多个主机,部分位于我的工作网络中。在访问这些之前,我需要通过运行kinit
在该网络上验证自己,但我经常忘记这样做。
是否有命令在这些SSH主机上的'before hook'中运行kinit
?
答案 0 :(得分:0)
您可以使用bash.rc文件。每次登录时都会运行。 https://wiki.ubuntuusers.de/bash/bashrc
答案 1 :(得分:0)
我最终做的是围绕典型的工作流程设置一些包装。
首先,我确保./bin
中有PATH
。
然后我有一个名为./bin/app-ssh
的脚本,在我需要kinit
电话之前运行ssh
。
我的app-*
中也有~/.gitignore_global
,因此它不会被共享的回购邮件占用,但可以说这些脚本对每个人都有用。
我在其他应用中设置了类似的脚本' bin
目录也是如此。我需要做的就是在我正在处理的任何应用中运行app-ssh
,而且我不需要记住每个应用的任何设置内容。
答案 2 :(得分:0)
我不确定到底有没有“钩前”之类的东西,但是我可以看到有两种黑客可以达到类似的效果。
Bash函数(在某些初始化文件中,例如.bashrc,.profile等)
ssh ()
{
echo "do this before ssh'ing"
command ssh "$@"
}
我可以考虑的另一种可能性是ProxyCommand选项。在您的〜/ .ssh / config中:
Host *
ProxyCommand sh -c 'kinit >&2 && nc %h %p'
突出点对: