SSH 사용자 이름의 특수 문자가 원격 장치로 전달되지 않았습니다.

SSH 사용자 이름의 특수 문자가 원격 장치로 전달되지 않았습니다.

나는 이 문제에 대해 머리를 숙이려고 노력해 왔습니다. Bing, Google 및 Yahoo는 내 질문을 이해하지 못하는 것 같아서 여기에 있습니다.

D5P$3rLinux 서버에서 라우터로 전달해야 하는 사용자가 있습니다 .

나는 다음을 시도했습니다.

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세 번째 위치 인수입니다(보통 현재 쉘이나 쉘 함수에 제공되는 세 번째 인수). 문자열이 D5P$3r인용되지 않았기 때문에 쉘은 $3세 번째 위치 인수의 값으로 확장됩니다. 값이 존재하지 않거나 비어 있으면 문자열이 sshas 에 전달됩니다 D5Pr.

쉘 확장을 방지하려면 $3문자열 주위에 작은따옴표를 사용해야 합니다. 예를 들면 다음과 같습니다.

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

...또는 탈출 $,

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

관련 정보