WinSCP はサイトの情報またはパスワードをどこに保存しますか? [ドキュメントと設定]で見つかりません...
構成ファイルは、Windowsレジストリ、またはポータブルバージョンを使用している場合は、INIファイルに保存されます。( ドキュメントを参照してください。 )レジストリの場所です:
HKEY_CURRENT_USER\Software\Martin Prikryl\WinSCP 2
設定ダイアログでExport
を押すと、いつでも設定をINIファイルにエクスポートできます。
パスワードはテキストではなくエンコードされていることに注意してください。解読は困難ですが、不可能ではありません。
この方法を試してください。
保存したセッションにログインします
セッションメニューに移動
生成URLをクリックしてください
ユーザー名とパスワードのオプションのみを確認してください(現在のディレクトリパスが必要な場合は、このオプションもクリックしてください)
複数のオプション、URL /スクリプト/.Netアセンブリがあります。必要に応じて選択します。
クリップボードにコピーをクリックします。
ユーザー名とパスワードが含まれます。
それでおしまい。
これはCesar's
の簡単なバージョンで、優れた回答であり、パスワードがSCPで引き続き機能することを前提としています。
以下を含むecho.cmd
というバッチファイルを作成します。
echo %*
pause
デスクトップなどの適切な場所に置きます。
WinSCPを起動し、サイトに接続します。 Options -> Preferences
をクリックします。
[設定]ダイアログで、Integration -> Applications
に移動します。以前にPuTTYパスにあったものを、新しく作成したecho.cmd
バッチファイルへのパスに置き換えます。また、オプションを選択します。
Remember session password and pass it to PuTTY (SSH)
OK
をクリックします。
WinSCP内からPuTTYを起動します。
以前に保存したパスワードが画面に表示されます。
新しいC#コンソールアプリケーションを作成し、次のプログラムを入力します。
namespace ConsoleApplication8
{
class Program
{
static void Main(string[] args)
{
foreach (var str in args)
System.Console.WriteLine(str);
System.Console.ReadLine();
}
}
}
C#プログラマーでない場合は、使い慣れている他の言語でも簡単に実行できます。重要なのは、プログラムに引数として渡された値を出力することです。スクリプトに慣れている場合は、スクリプトでそれを行うこともできます。
次に、プログラムをコンパイルし、バイナリ(ConsoleApplication8.exeなど)を取得します。デスクトップなどの適切な場所に置きます。
それでもパスワードが機能する場合は、WinSCPを起動してサイトに接続します。 [オプション]-> [設定]をクリックします
[設定]ダイアログで、[統合]-> [アプリケーション]に移動します。以前PuTTYパスにあったものを、新しく作成したバイナリへのパスに置き換えます。また、[セッションパスワードを記憶してPuTTY(SSH)に渡す]オプションを選択します。
[OK]をクリックし、WinSCP内からPuTTYを起動してみます。
以前に保存したパスワードが画面に表示されます。
非常に奇妙な使用例があり、パスワードを回復する必要がありましたが、システム管理者が環境をロックして、ホワイトリストに登録されていない実行可能ファイルを実行できず、.cmdファイルも含まれていました。
私の解決策は、代わりにPuTTYコマンドラインをNotepad ++にポイントすることでした。
実行すると、「File -pw」は存在しないと言われましたが、作成する必要がある場合は、「いいえ」と答えます。
次に、「ファイル{パスワードはここに表示されます}は存在しません。作成する必要があります」と表示され、もう一度言うと、クリアテキストのパスワードがありました。
WireSharkなどのツールを使用して、ネットワーク上で何が行われているかを「確認」できます。つまり、(WireSharkで)パケットキャプチャセッションを実行し、FTPサーバーにログインします(暗号化なしでWinSCPを使用)。
次に、WireSharkで登録されたセッションを確認することで、「ディスカッション」(宛先IPによるフィルタリングなど)を簡単に識別し、リクエスト:USER blabla、次にREQUEST:PASS blablaをFTPのFTPレベルで簡単に識別できます。 "会話"。
少し異なる問題を調査しているときにこの答えにたどり着きましたが、これは役に立ちました。
私の問題は、Windowsに保存されたパスワードでWinSCPを使用していたことでしたXP変更されたActive Directoryドメイン。新しいActive Directoryドメインでは、ユーザープロファイルも変更されたため、WinSCPに保存されていないログオンプロファイル。
以前のWinSCPログオンプロファイルを回復するために、以下を実行しました。
regedit
アプリケーションを起動し、Martin Prikryl
という名前のキーを検索しました。いくつかの誤った一致の後、正しいセッションデータであるように見えるキーが見つかりました。
次に、regedit
exportコマンドを使用してWinSCPセッションレジストリキーをテキストファイルにエクスポートしました。
次に、テキストファイル内のエクスポートされたテキストを変更して、ソフトウェアサブキーの前の完全なキーの先頭としてHKEY_CURRENT_USER
を使用しました
次にregedit
を使用して、現在のユーザーのWinSCPで使用されるWindowsレジストリキーを変更するためにデータをインポートしました。
これらのアクションは次のことを行いました:(1)古いユーザープロファイルのWinSCPログオンセッションデータを見つけ、(2)そのデータのコピーを作成しました、(3)regedit
でインポートできるようにWindowsレジストリキーを変更しました現在のユーザーを変更するには、(4)現在のユーザープロファイルのWinSCPレジストリエントリを変更するデータをインポートしました。
この手順を実行した後、WinSCPを使用してWebサーバーにアクセスできました。
これが簡単でうまくいった理由は、おそらくいくつかあります。まず、このPCは1人しか使用しなかったため、共有されなかったため、誤った一致を減らすことができました。次に、PCに対する管理者権限がありました。第三に、これはWindows XPであり、Windows 7/8ではありませんでした。
WinSCPの引用FAQ WinSCPセッションに保存されているパスワードを回復できますか? :
パスワードを回復する1つの方法は、設定でパスワードのログインを有効にすることです。 Log passwords and othersensitive information 設定オプションを参照してください。次に、セッションログファイルを調べて、保存されているパスワードを見つけます。
. 2017-06-13 07:41:11.313 ---------------------------------------------------------------
. 2017-06-13 07:41:11.313 WinSCP Version 5.9.5 (Build 7441) (OS 10.0.15063 - Windows 10)
. 2017-06-13 07:41:11.313 Configuration: HKCU\Software\Martin Prikryl\WinSCP 2\
. 2017-06-13 07:41:11.313 Log level: Normal, Logging passwords
...
. 2017-06-13 07:41:11.313 ---------------------------------------------------------------
. 2017-06-13 07:41:11.313 Session name: My server (Site)
. 2017-06-13 07:41:11.313 Host name: example.com (Port: 22)
. 2017-06-13 07:41:11.313 User name: martin (Password: mypassword, Key file: No)
Generate Session URL/Code 関数を悪用して、保存したパスワードを取得することもできます。パスワードの特殊記号はエスケープされる場合があることに注意してください。 。NETアセンブリコード でパスワードがそのまま表示される可能性が最も高く、(サポートされているすべての言語で)二重引用符のみがエスケープされます。