tag:crieit.net,2005:https://crieit.net/tags/SFTP/feed 「SFTP」の記事 - Crieit Crieitでタグ「SFTP」に投稿された最近の記事 2021-12-21T23:53:33+09:00 https://crieit.net/tags/SFTP/feed tag:crieit.net,2005:PublicArticle/17881 2021-12-21T23:53:33+09:00 2021-12-21T23:53:33+09:00 https://crieit.net/posts/winscp-transfer-mode-settings-20211221 WinSCP の転送モードを確認する (+ 拡張子による自動判定の履歴を削除する) <h2 id="経緯"><a href="#%E7%B5%8C%E7%B7%AF">経緯</a></h2> <p>WinSCP で Perl プログラムをアップロードしたら 500 Internal Server Error. となってしまいました。</p> <h2 id="調査"><a href="#%E8%AA%BF%E6%9F%BB">調査</a></h2> <p>サーバログでは次のようなエラーログが記録されていました。</p> <pre><code>suexec policy violation: see suexec log for more details: PATH/TO/PERL_CGI_PROGRAM.cgi </code></pre> <p>権限周り等も見ましたが、最終的には転送モードをバイナリモードのまま Perl プログラムをアップロードしていたことが原因でした。</p> <h2 id="設定変更"><a href="#%E8%A8%AD%E5%AE%9A%E5%A4%89%E6%9B%B4">設定変更</a></h2> <p>そこで、転送モードを見直してASCIIモードで転送するようにしました。</p> <p><a href="https://crieit.now.sh/upload_images/57ae0b4b64c0f31d1a68185836a8da9161be081dbcd6e.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/57ae0b4b64c0f31d1a68185836a8da9161be081dbcd6e.jpg?mw=700" alt="ウィンドウ上部の「転送設定」を開く" /></a></p> <p>WinSCP を起動したら、まずウィンドウ上部の「転送設定」を開きます。</p> <p>次に、プルダウンの最下部の「⚙設定」をクリックします。</p> <p><a href="https://crieit.now.sh/upload_images/e9df1d70f158dbe665326f7013ed7a9361be08245df3c.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e9df1d70f158dbe665326f7013ed7a9361be08245df3c.jpg?mw=700" alt="プリセットの中から「デフォルト」を選択" /></a></p> <p>いくつかプリセットが登録されていますが、今回は汎用的に使い回すので「デフォルト」の設定を変更したいと思います。そこで、「デフォルト」を選択肢て「編集」。</p> <p><a href="https://crieit.now.sh/upload_images/fba63cf9d53c492e382edbfdbfde0cc661be082a93c4e.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/fba63cf9d53c492e382edbfdbfde0cc661be082a93c4e.jpg?mw=700" alt="「転送モード」を「バイナリ」から「自動」に切替" /></a></p> <p>「転送モード」を「バイナリ」から「自動」に切り替え、「以下のファイルはテキスト転送モード」でプリセットの値を設定。</p> <pre><code>*.*html; *.htm; *.txt; *.php; *.php3; *.cgi; *.c; *.cpp; *.h; *.pas; *.bas; *.tex; *.pl; *.js; .htaccess; *.xtml; *.css; *.cfg; *.ini; *.sh; *.xml </code></pre> <p>今回は対応したい拡張子が全てく踏まれているので、これでOKです。</p> <h2 id="(余談) 誤って登録してしまった「以下のファイルはテキスト転送モード」の履歴を削除する"><a href="#%28%E4%BD%99%E8%AB%87%29+%E8%AA%A4%E3%81%A3%E3%81%A6%E7%99%BB%E9%8C%B2%E3%81%97%E3%81%A6%E3%81%97%E3%81%BE%E3%81%A3%E3%81%9F%E3%80%8C%E4%BB%A5%E4%B8%8B%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AF%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E8%BB%A2%E9%80%81%E3%83%A2%E3%83%BC%E3%83%89%E3%80%8D%E3%81%AE%E5%B1%A5%E6%AD%B4%E3%82%92%E5%89%8A%E9%99%A4%E3%81%99%E3%82%8B">(余談) 誤って登録してしまった「以下のファイルはテキスト転送モード」の履歴を削除する</a></h2> <p>上述の一覧で見逃しをして、「この拡張子も」と独自に追加した一覧をいったん登録したところ、その履歴も常に表示されるようになってしまいました。</p> <p>普段弄る場所でもないので良いといえば良いのですが、気になるので何とか削除できないかと試みてみました。</p> <p>すると、この履歴はレジストリで保存していることが分かりましたので、削除したいと思います。</p> <p>※レジストリを誤って操作するとPCが起動しなくなるなどの重大な故障の原因になる可能性があります。編集される際は細心の注意を持って自己責任でお願いいたします。</p> <pre><code>\HKEY_CURRENT_USER\SOFTWARE\Martin Prikryl\WinSCP 2\Configuration\History\Mask </code></pre> <p>ここに格納されています。</p> <p><a href="https://crieit.now.sh/upload_images/e0537080ce83e067b1a30e8f453d9cf961be082d37daf.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/e0537080ce83e067b1a30e8f453d9cf961be082d37daf.jpg?mw=700" alt="登録された履歴の一覧" /></a></p> <p>履歴は使用した順番で番号が入れ替わるのでそれで調整したり、不要な値を削除した後に残った1つの名前を変更で0にしても良いです。</p> <p><a href="https://crieit.now.sh/upload_images/021db01a366652ba571aa40e59acb33061be08305fd77.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/021db01a366652ba571aa40e59acb33061be08305fd77.jpg?mw=700" alt="登録された履歴の一覧(削除後)" /></a></p> <p>削除して完了。これで先程の WinSCP の画面でも1つしか表示されなくなりました。</p> <h2 id="参考"><a href="#%E5%8F%82%E8%80%83">参考</a></h2> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://wp-master.club/cgi_permission">サーバー引越しでCGIのフォームエラーが出て、復旧した際の備忘録 | WP-Master.club</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://itsakura.com/winscp-use#s5">WinSCPの使い方(接続/転送モード/ログ) | ITSakura</a></li> </ul> arm-band