質問:すべての名前を持つローカルユーザーのリストを含むサーバーAがありますsomething-ops
。ただし、Aから他のすべてのサーバーにSSHを接続するときsomething-admin
。joe-ops
joe-admin
試み:私は私たちがどこにいてもよいことを知っています/home/$USER/.ssh/config
Host *
username: joe-admin
ただし、ユーザーごとにこれを設定して維持するのはやや面倒です。特にではなくと$USER
同じだからです。something-ops
something
スクリプトまたは変数置換を使用して各ユーザーに対して変更を実行できますかuser-ops
?user-adm
/etc/ssh/ssh_config
ベストアンサー1
ラッパースクリプトを試してみてください。
#! /bin/sh
username=${USER%-ops}-admin
exec /usr/bin/ssh -l "$username" "$@"
に入れるか、 から以前に適切な名前のファイルに入れます/usr/local/bin/ssh
(もちろん、別の場所にある場合は、それに応じてすべてを調整してください)。ssh
/usr/bin
$PATH
ssh
/usr/bin
scp
同様のラッパースクリプトがある場合は、それを持つこともできます。sftp
スクリプトをオーバーライドする必要があるユーザーは、実際のバイナリの場所を呼び出すことができます。