我正在编写一个bash脚本,我需要从ssh配置文件中获取特定用户。ssh配置文件看起来像这样:
HOST blag
HostName blag.net.au
Port 2683
User blaguser
Host bloo
User ABCDEF
IdentityFile ~/.ssh/id_rsa
HOST biff
HostName biff.net.au
Port 2683
User biffuser
Run Code Online (Sandbox Code Playgroud)
我想通过搜索Host bloo获得字符串'ABCDEF'并将其放入变量中。
我能够在https://superuser.com/questions/791374/get-variable-values-from-config-file/791387#791387?newreg=6626dd5535194d0180a91b6ace31e16f使用答案来读取配置文件,但它使用文件中的最后一个主机条目。
我可以使用以下答案删除主机条目:如何从ssh配置文件中删除主机条目?。此处的sed命令可以进行编辑以提取正确的命令,User
但我不确定确切如何
我有很多麻烦。有人可以协助吗?使用sed的答案会更好。
You can use ssh
configuration test mode to parse the configuration file and return you the expected value:
ssh -G hostname | grep "^user "
Run Code Online (Sandbox Code Playgroud)
此后应该可以使用openssh-6.8
。
归档时间: |
|
查看次数: |
1516 次 |
最近记录: |