Ssh
SSH 使用者名中的特殊字元未傳遞到遠端設備
我一直在努力解決這個問題。Bing、Google和雅虎似乎沒有得到我的問題,因此我在這裡。
我有一個使用者
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。
$3
是第三個位置參數(通常是給目前 shell 或 shell 函式的第三個參數)。由於您的字元串D5P$3r
未加引號,shell 將擴展$3
為第三個位置參數的值。如果此值不存在或為空,則字元串將傳遞給ssh
asD5Pr
。為避免外殼展開
$3
,請確保在字元串周圍使用單引號,例如,ssh -c 3des-cbc 'D5P$3r@Router'
…或逃避
$
,ssh -c 3des-cbc D5P\$3r@Router