Ssh

SSH 使用者名中的特殊字元未傳遞到遠端設備

  • November 18, 2020

我一直在努力解決這個問題。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為第三個位置參數的值。如果此值不存在或為空,則字元串將傳遞給sshas D5Pr

為避免外殼展開$3,請確保在字元串周圍使用單引號,例如,

ssh -c 3des-cbc 'D5P$3r@Router'

…或逃避$,

ssh -c 3des-cbc D5P\$3r@Router

引用自:https://unix.stackexchange.com/questions/620301