サーバーから特定のポートにsftpする必要がありますが、ユーザー名に@記号が含まれています。
ユーザーが「[email protected]」であり、ftpサーバーが「example.com」であると仮定します
私は終わります
sftp -oPort:8777 [email protected]@example.com
私がテストしたように、何が明らかに機能しないでしょう。
どのようなアマチュアが@でユーザー名を作成しますか?はい、上司がやった。
どうすれば解決できますか?
-o User
オプションまたはクライアント構成ファイル(~/.ssh/config
)の同等のUser
ディレクティブを介してユーザー名を渡します。
sftp -o Port:8777 -o [email protected] example.com
これは、ssh
、scp
、sshfs
にも適用されます。 -o
オプションの代わりに構成ファイルを使用すると、ssh
を呼び出し、コマンドラインオプションを渡してもツールを操作できないという利点があります。
sftp -o Port:8777 '[email protected]'@domain.com
これも機能しますが、ユーザーがこのタイプの名前をプロビジョニングするのは非常に貧弱な形式です。
一部のSFTPサーバーでは、@
( "commercial at")を+
( "plus sign")に置き換えることが許容される場合があります。
sftp -oPort:8777 [email protected]