Jak sftp na serwer, jeśli nazwa użytkownika zawiera symbol @

25

Muszę sftp do serwera do określonego portu, ale nazwa użytkownika zawiera symbol @.

załóżmy, że użytkownik to „uż[email protected]”, a serwer ftp to „example.com”

Skończę z

sftp -oPort:8777 [email protected]@example.com

co oczywiście nie zadziała, jak przetestowałem.

Jakiego rodzaju amator tworzy nazwę użytkownika za pomocą @? Ok, mój szef zrobił.

Jak to rozwiązać?

Kosmiczny pies
źródło
1
Spróbuj uciec od „reklamy w” w ten sposóbsftp -oPort:8777 user\@[email protected]
Tim
Jeśli usuniesz część nazwy użytkownika i po prostu opuścisz domenę, czy wyświetli się monit o podanie nazwy użytkownika po wprowadzeniu polecenia?
ladaghini
@ladaghini - należy tego użyć w skrypcie ... brak monitu. Ok, znam konsekwencje posiadania nazwy użytkownika i hasła w skrypcie, ale ta nazwa użytkownika ma ograniczony obszar. Musi to być sftp, ponieważ ten serwer po prostu generuje nazwy użytkowników dla sftp.
SpaceDog
@ Tim ... ucieczka to nie pomaga.
SpaceDog

Odpowiedzi:

33

Przekaż nazwę użytkownika przez -o Useropcję lub przez równoważną Userdyrektywę w pliku konfiguracyjnym klienta ( ~/.ssh/config).

sftp -o Port:8777 -o [email protected] example.com

Dotyczy to ssh, scpa sshfstakże. Korzystanie z pliku konfiguracyjnego zamiast -oopcji ma tę zaletę, że działa również z narzędziami, które wywołują sshi nie pozwalają w żaden sposób łatwo przekazać opcji wiersza poleceń.

Gilles „SO- przestań być zły”
źródło
Ta nazwa użytkownika nie ma dostępu do ssh, po prostu sftp.
SpaceDog
@DigitalRobot s / ssh / sftp /
ladaghini
@DigitalRobot Działa to zarówno sshi sftp(a scptakże).
Gilles „SO- przestań być zły”
Trwać. Co powinniśmy zrobić, jeśli hasło zawiera również „@” lub „/”
Shicheng Guo,
@ShichengGuo ??? Nie ma problemu z hasłem @ani /z hasłem. Po prostu je wpisz. SSH nawet nie zezwala na przekazywanie hasła w opcji wiersza poleceń ani w pliku konfiguracyjnym.
Gilles „SO- przestań być zły”
6
sftp -o Port:8777 '[email protected]'@domain.com

To też by działało, chociaż jest to naprawdę dość kiepska forma, aby zapewnić użytkownikom tego typu nazwy.

SFTP Special
źródło
0

Zastąpienie @(„komercyjny w”) +znakiem („plus”) może być dopuszczalne na niektórych serwerach SFTP:

sftp -oPort:8777 [email protected]
AntonK
źródło