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ć?
sftp -oPort:8777 user\@[email protected]
Odpowiedzi:
Przekaż nazwę użytkownika przez
-o User
opcję lub przez równoważnąUser
dyrektywę w pliku konfiguracyjnym klienta (~/.ssh/config
).Dotyczy to
ssh
,scp
asshfs
także. Korzystanie z pliku konfiguracyjnego zamiast-o
opcji ma tę zaletę, że działa również z narzędziami, które wywołująssh
i nie pozwalają w żaden sposób łatwo przekazać opcji wiersza poleceń.źródło
ssh
isftp
(ascp
także).@
ani/
z hasłem. Po prostu je wpisz. SSH nawet nie zezwala na przekazywanie hasła w opcji wiersza poleceń ani w pliku konfiguracyjnym.To też by działało, chociaż jest to naprawdę dość kiepska forma, aby zapewnić użytkownikom tego typu nazwy.
źródło
Zastąpienie
@
(„komercyjny w”)+
znakiem („plus”) może być dopuszczalne na niektórych serwerach SFTP:źródło