Pleskで管理しているサーバーを新しいマシンへ移行する時、
新しいマシンもPleskならば、「Plesk Migrator」という機能を使って、
全自動で移行を行ってくれる。差分移行もできるので、とても便利だ。
本日、試しに1台、移行をやってみたら、最初にエラーが出て進まなかった。
ここ数年で、セキュリティ関連の制限が厳しくなったので、
古い方のマシンの場合、うまく動作しないことが多い。
今は、AIという便利な相棒がいるので、さっそく活用してみることにする。
今までは、Googleにエラーメッセージをそのまま入れて検索したりしたけど、
今は、同じことをやっても、きちんとAIの回答が出てくるようになった。
この回答で十分なケースもあるけれども、より深い回答を得るためには、
やはり Gemini や Copilot の専用ページから入力した方が効率がよい。
さっそく入れてみたプロンプト:
エラーログの提示をありがとうございます。原因がはっきりと特定できました。発生しているPermission denied (publickey,gssapi-keyex,gssapi-with-mic,password)というエラーは、「移行先(Obsidian)から移行元(Onyx)へ、自動生成したSSH公開鍵を使って接続しようとしたが、移行元サーバーに拒否された」ことを意味しています。Plesk Migratorは、最初にパスワードで接続が成功した後、高速なデータ転送(rsync)を行うために専用のSSH鍵を生成して移行元に配置しますが、その鍵認証の段階で弾かれています。この問題は、以下の3つの対処法のいずれかで解決する可能性が非常に高いです。順番に確認・実行してみてください。対処法1:移行元(Onyx)のディレクトリ権限(パーミッション)を修正する
移行元サーバー側の/rootや.sshディレクトリの権限がセキュリティ的に緩すぎると、SSHの仕様により鍵認証が強制的に拒否されます(これが最も多い原因です)。【手順】移行元(Onyx)サーバーにSSH(root)でログインし、以下を実行します。Bash# /root ディレクトリの権限を修正chmod 750 /rootchown root:root /root# .ssh ディレクトリの権限を修正chmod 700 /root/.sshchown -R root:root /root/.ssh# authorized_keys の権限を修正chmod 600 /root/.ssh/authorized_keys設定後、再度 Plesk Migrator を実行してみてください。対処法2:移行先(Obsidian)で古い暗号方式(ssh-rsa)を許可する
Plesk Onyxが動いている古いOS(CentOS 7など)と、Plesk Obsidianが動いている最新OS(AlmaLinux 9やUbuntu 24.04など)では、安全なSSHの暗号方式の基準が異なります。最新OS側(移行先)のSSHクライアントが、古い暗号方式(ssh-rsa)を拒否しているケースです。【手順】移行先(Obsidian:新しいサーバー)にSSHでログインし、以下を実行します。
/etc/ssh/ssh_configをテキストエディタで開きます。 ファイルの最末尾に以下の1行を追記して保存します。PlaintextPubkeyAcceptedAlgorithms +ssh-rsa
(※OSのバージョンによっては PubkeyAcceptedKeyTypes +ssh-rsa の場合もありますが、まずは上記を試してください)
保存後、移行先サーバーで再度 Plesk Migrator を実行します(クライアント側の設定なのでSSHの再起動は不要です)。💡 おすすめの対応手順
まずは手軽かつ安全な 「対処法1(パーミッション変更)」 を試してください。それでも改善しない場合は、OSの世代ギャップが原因である可能性が高いため、 「対処法2(暗号方式の追加)」 を行うことで、多くのケースで解決します。
このとおりに対処したら、エラーが解消されて、移行もうまくいった。
今までは、掲示板やPleskのドキュメント等を参照しながら試行錯誤していたが、
ここまで明確に対処法をまとめてもらえると、すぐに使えるので、とても便利だ。
でもサーバーの場合、出てきた対処法を鵜呑みにするのは禁物だ。
前提条件、たとえばOSのバージョン等が違っていると間違った対処法になる可能性があるので、意味が理解できない状況ではそのまま信用してはいけない。
意味が理解できる状況で使うならば、AIはとても強力なツールになる。
0 件のコメント:
コメントを投稿