사용자 이름에 @ 기호가 포함 된 경우 서버로 FTP를 보내려면 어떻게합니까


25

서버로 특정 포트로 sftp를 보내야하지만 사용자 이름에 @ 기호가 포함되어 있습니다.

사용자가 "user@example.com"이고 ftp 서버가 "example.com"이라고 가정하십시오.

나는 ~로 끝날 것이다

sftp -oPort:8777 user@example.com@example.com

내가 테스트 한 것처럼 분명히 작동하지 않는 것은 무엇입니까?

@로 어떤 종류의 아마추어가 사용자 이름을 생성합니까? 좋아, 내 상사가 했어

어떻게 해결할 수 있습니까?


1
"commercial at"을 탈출 해보십시오sftp -oPort:8777 user\@domain.com@domain.com
Tim

사용자 이름 부분을 제거하고 도메인을 떠나는 경우 명령을 입력하면 사용자 이름을 입력하라는 메시지가 표시됩니까?
ladaghini

@ladaghini-스크립트 내에서 사용됩니다 ... 프롬프트가 표시되지 않습니다. 좋아, 스크립트에 사용자 이름과 비밀번호가 있음을 알고 있지만이 사용자 이름은 제한적입니다. 이 서버는 sftp의 사용자 이름 만 생성하므로 sftp 여야합니다.
SpaceDog

@Tim ... 탈출하는 것은 도움이되지 않습니다.
SpaceDog

답변:


33

-o User옵션 또는 User클라이언트 구성 파일 ( ~/.ssh/config) 의 해당 지시문을 통해 사용자 이름을 전달하십시오 .

sftp -o Port:8777 -o User=user@example.com example.com

이것은 적용 ssh, scpsshfs도. -o옵션 대신 구성 파일을 사용하면 ssh명령 줄 옵션을 쉽게 전달할 수없고 호출 하지 않는 도구로 작업 할 수 있다는 이점이 있습니다 .


이 사용자 이름은 ssh 액세스가 아니라 sftp입니다.
SpaceDog

@DigitalRobot s / ssh / sftp /
ladaghini

모두이 작품 @DigitalRobot sshsftp(와 scp너무).
Gilles 'SO- 악마 중지

계속해. 암호에 '@'또는 '/'도 포함되어 있으면 어떻게해야합니까
Shicheng Guo

@ShichengGuo ??? 문제는 함께 없습니다 @또는 /암호에. 당신은 단지 그들을 입력합니다. SSH는 명령 줄 옵션이나 구성 파일에서 암호를 전달할 수있는 방법도 없습니다.
Gilles 'SO- 악의를 멈추십시오'

6
sftp -o Port:8777 'user@domain.com'@domain.com

이 유형의 이름으로 사용자를 프로비저닝하기에는 실제로 매우 좋지 않은 형식이지만 작동합니다.


0

교체 @와 함께 ( "에 광고를") +일부 SFTP 서버에서 허용 될 수있다 ( "더하기 기호)"

sftp -oPort:8777 user+example.com@example.com
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.