私はこの問題について頭を下げようとしました。 Bing、Google、Yahooは私の質問を理解していないようです。
D5P$3r
Linuxサーバーからルーターに転送する必要があるユーザーがいます。
私は以下を試しました。
ssh -c 3des-cbc D5P$3r@Router
ssh -l D5P$3r Router
ssh -c 3des-cbc -o User=D5P$3r Router
とにかく最終結果は次のとおりです。
D5Pr@Router's password:
私はエンジニアリングの分野にいないので、私のアイデアは無視されるので、このユーザーが使用された理由もあります。
$3
デフォルトでは、ルーターのユーザー名をどのように渡すことができるかを調べています。
Linux サーバーは Red Hat Enterprise 7.6 です。
答え1
$3
3番目の位置引数です(通常、現在のシェルまたはシェル関数に提供されている3番目の引数)。文字列がD5P$3r
引用されていないため、シェルは$3
3番目の位置引数の値に展開されます。値が存在しないか空の場合、文字列はssh
asに渡されますD5Pr
。
シェルの拡張を防ぐには、$3
文字列の周りに一重引用符を使用する必要があります。たとえば、次のようになります。
ssh -c 3des-cbc 'D5P$3r@Router'
...または脱出$
、
ssh -c 3des-cbc D5P\$3r@Router