Ich muss zu einem Server zu einem bestimmten Anschluss sftp, aber der Benutzername enthält das @ -Zeichen.
Angenommen, der Benutzer ist "[email protected]" und der FTP-Server ist nur "example.com".
Ich werde mit enden
sftp -oPort:8777 [email protected]@example.com
was wird natürlich nicht funktionieren, wie ich getestet habe.
Welche Art von Amateur erstellt einen Benutzernamen mit @? Ok, mein Chef hat es getan.
Wie löse ich das?
sftp -oPort:8777 user\@[email protected]
Antworten:
Übergeben Sie den Benutzernamen über die
-o User
Option oder über die entsprechendeUser
Anweisung in der Client-Konfigurationsdatei (~/.ssh/config
).Dies gilt für
ssh
,scp
undsshfs
außerdem. Die Verwendung der Konfigurationsdatei anstelle von-o
Optionen hat den Vorteil, dass Sie auch mit Tools arbeiten können, die aufrufenssh
und bei denen Sie Befehlszeilenoptionen nicht ohne weiteres übergeben können.quelle
ssh
undsftp
(undscp
auch).@
oder/
im Passwort. Sie geben sie einfach ein. SSH erlaubt nicht einmal die Weitergabe des Kennworts über die Befehlszeilenoption oder in einer Konfigurationsdatei.Dies würde auch funktionieren, obwohl es für sie eine sehr schlechte Form ist, Benutzern diesen Namen zu geben.
quelle
Das Ersetzen von
@
("commercial at") durch+
("plus sign") kann auf einigen SFTP-Servern akzeptabel sein:quelle