Je dois sftp vers un serveur vers un port spécifique mais le nom d'utilisateur contient le symbole @.
supposons que l'utilisateur soit "[email protected]" et que le serveur ftp soit simplement "example.com"
Je terminerai avec
sftp -oPort:8777 [email protected]@example.com
ce qui ne fonctionnera évidemment pas, comme je l'ai testé.
Quel type d'amateur crée un nom d'utilisateur avec @? D'accord, mon patron l'a fait.
Comment résoudre ça?
sftp -oPort:8777 user\@[email protected]
Réponses:
Transmettez le nom d'utilisateur via l'
-o User
option ou via laUser
directive équivalente dans le fichier de configuration client (~/.ssh/config
).Cela vaut pour
ssh
,scp
etsshfs
aussi bien. L'utilisation du fichier de configuration au lieu des-o
options présente l'avantage de travailler également avec des outils qui appellentssh
et ne vous permettent pas de passer facilement les options de ligne de commande, le cas échéant.la source
ssh
etsftp
(etscp
aussi).@
ou/
dans le mot de passe. Vous venez de les taper. SSH ne permet même pas de transmettre le mot de passe sur l'option de ligne de commande ou dans un fichier de configuration.Cela fonctionnerait également, bien que ce soit une forme très médiocre pour eux de fournir aux utilisateurs ce type de nom.
la source
Le remplacement de
@
("commercial at") par+
("signe plus)" peut être acceptable sur certains serveurs SFTP:la source