Windows
windows7
ftp
Windows10
AzureWebApps

Windowsエクスプローラから一旦FTP接続したら他のFTP接続できなくなった

事象

AzureWebAppsでFTPホストに接続してファイルアップロードとかしてたんだけどまた別のFTPホストに接続しようとしても前のFTPホストに接続してしまう

  • FTPホストその1
    image.png

  • FTPホストその2
    image.png

違うサブスクリプションで作ったWebAppsだけどFTPホスト名一緒なのね…そういうもんか?
初回の接続時にはFTPユーザとパスワード聞いてきたんだけど聞いてくれないので切り替えできん。

  • エクスプローラで接続するとこうなる
    image.png

  • Cyduck使って接続するとFTPユーザ/パスワード聞いてくるので切り替えできる。若干ファイル違うのでこれその2の方ね。
    image.png

多分FTPログオン情報みたいなのが残ってるんだと想像。
別にエクスプローラ使わなければいい話だけど気持ち悪いし。
以下で解消したのでメモ。

対処方法

レジストリエディタ起動

コマンドプロンプトでregeditコマンドで起動します
image.png

FTPアカウント情報確認

レジストリエディタで以下配下にあるキーを確認します。
HKEY_CURRENT_USER\Software\Microsoft\FTP\Accounts
image.png
接続先のクライアントごとにキーが作成され、その配下にさらにアカウント情報が記録されるようです。

FTP接続アカウント情報の削除

レジストリキー削除します。
image.png

再度エクスプローラでFTP接続

ユーザ認証画面でた!
image.png

接続できた

image.png

サブスクリプションIDが別なのになんでFTPホスト名同じなの?

Azureサポートに聞いてみた。

App Service の FTP ホスト名については、各リージョン内に複数存在する ”スタンプ” と呼ばれる単位ごとに定まっております。
App Service インスタンスは、内部的にはデータセンター内に複数存在するホスト OS 上の Hyper-V のゲスト OS (Azure VM) として動作をしておりますが、それらのインスタンス (Azure VM) の集合体を “スタンプ” と呼び、各リージョンにはスタンプが複数存在します。
そして、同じスタンプをご利用いただいているユーザー様では FTP ホスト名が同一となり、FTP デプロイ ユーザー名の “\” マークの前の情報 (App Service 名) を利用し、アクセス先の App Service を判断します。
※ スクリーン ショットに表示されている ”waws-prod-dm1-023” の “dm1-023” の部分が、スタンプを指し示す文字列です。
なお、同じ App Service プランを利用してデプロイした App Service は、同じインスタンス上で動作いたします。
上述の通り、スタンプはインスタンスの集合体ですので、同じ App Service プランを利用してデプロイされ、同じインスタンス上で動作をする App Service は同じスタンプ、つまり同じ FTP ホスト名を持ちます。
また、複数の App Service を異なる App Service プランを利用してデプロイいただいた場合でも、ご利用いただくスタンプはランダムに定まるため、すべて同じ FTP ホスト名となる可能性はございます。

参考になるページ