ホーム Linuxでは、私のサーバーにSSH経由で接続することはできませんが、Windowsでは同じサーバーにSSH経由で接続できます。

ホーム Linuxでは、私のサーバーにSSH経由で接続することはできませんが、Windowsでは同じサーバーにSSH経由で接続できます。

Ubuntuインストールの1つでSSH経由でサーバーに接続できないが、別のUbuntuインストールまたはWindows OSを使用している場合、SSH接続は正しく機能します。

Ubuntuのインストールにはいくつかの問題があり、正確な問題を見つけようとしています。

ssh/openssh-client/openssh- 再インストールを試みました。/ssh

以下は詳細出力の数行です。

ssh username@MYSERVERADDRESS -v
debug1: Offering RSA public key: /home/user/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: Authentication succeeded (publickey).
Authenticated to MYSERVER ([MYSERVERADDRESS]:22).
debug1: channel 0: new [client-session]
debug1: Requesting [email protected]
debug1: Entering interactive session.
debug1: pledge: network
packet_write_wait: Connection to MYSERVERADDRESS port 22: Broken pipe

インターネット検索でさまざまなソリューションを試しましたが、決して機能しませんでした。 .sshディレクトリを削除し、/etc/ssh/ssh_configを削除しました(デフォルトで自動的に再生成されました)。

別の情報は、異なるOSと同じネットワークを使用してSSHを介してサーバーに接続できるため、サーバー側で問題が発生しないことです。

修正する:

  1. ファイアウォールが無効になっています。

  2. クラウドでホストされているサーバー

  3. WindowsとLinuxを起動する3つの異なるコンピュータがあります。

  4. SSHは、Linuxが接続に問題があるコンピュータを除いて、すべてのコンピュータで完全に機能し、Windowsを使用する同じコンピュータではすべてがうまく機能します。

  5. ポイント4がより明確です。 LinuxとWindowsがロードされた(デュアルブート)マシンが3台あり、Linuxを実行するときにSSHの問題があるマシンは1台だけです。

より多くのデータ(サーバーアドレスとユーザー名を除く)が必要な場合はお知らせください。

答え1

私はこの問題に対する解決策を見つけました。 (私の質問に答えて申し訳ありません。)誰もがこの問題が発生した場合は、私が見つけた解決策を使用できるので、この質問に答えています。

実際、問題はサーバー側とクライアント側にあります。

サーバー側の問題は、/home/<user>/.ssh/known_hosts両方のオペレーティングシステムでハードウェアIDとIP(固定IP)が同じですが、キーが異なるため、サーバー上のファイルにUbuntuのインストールに関する無効なエントリがあることです。

だから私がしたことは次のとおりです。

ssh-keygen -f /home/<user>/.ssh/known_hosts -R ip.ip.ip.ip

私の場合、ip.ip.ip.ipは私のネットワークの固定パブリックIPです。 ip.ip.ip.ipがそれぞれ変更されるサーバーとクライアントシステムでこのコマンドを実行します。

このコマンドが何をしているのかわかりません。 (この解決策は、インターネット検索/試行錯誤によって発見されました。)

クライアントコンピュータのKnown_hostsファイルを他のクライアントコンピュータまたはオペレーティングシステムにコピーすることもできます。

申し訳ありません。私の英語力が悪いです。

このコマンドの機能と問題が解決された理由を知っている人がいる場合は、教えてください。ありがとうございます。

ビンゴ解決!

答え2

サーバーがロックされていますか?戻る!

次の理由でサーバーがロックされています。

  • ホスト鍵検証失敗エラー
  • SSH構成エラー
  • 構成エラー
  • ファイアウォールロック

注:これはWindowsではなくUnix | Linuxで動作します。

始めましょう。

状況に応じて2つのオプションがあります。

オプション1:ターミナルアクセス(端末アクセス権を回復できる場合)

端末アクセスオプション

システムを更新してください:

sudo aptitude update && aptitude safe-upgrade -y

*または以下を使用できます。

sudo apt-get update && apt-get upgrade -y

今壊れたSSHを再インストールしてください。

sudo apt-get --install ssh -y

更新されたバージョンがインストールされます!

修理するホスト鍵検証失敗エラーメッセージ、実行:

ssh-keygen -R hostname

SSHアクセスがブロックされましたか?今復元してください!

サーバーにまったくアクセスできない場合受信タイムアウトSSHを使用して接続しようとすると、次の理由があります。ファイアウォール構成エラー、ポートブロック、ディスク障害またはSSH構成エラー、ホストキーの確認失敗エラーなどあなたは使用しますディスクの取り付けオプション。

ディスクマウントオプション(リモートサーバー)

あなたが試したと仮定リモートリセット、リモートリセット、リモートハードウェアリセットWeb インターフェイスを通じて問題が解決します。

あなたに聞いてくださいデータセンター一つを与えるKVMコンソール訪問してボックスを起動します。救うモデル(1時間無料で利用できます。)

コンソールからアクセス:ログイン:

*ubuntu@rescue#*

インストールディスク

    mkdir tempDisk

    mount --bind /dev/xvda2 /tempDisk
    mount --bind /proc /tempDisk/proc
    mount --bind /dev /tempDisk/dev
    mount --bind /sys /tempDisk/sys

    chroot /tempDisk

注:これはルートなので、プロンプトが変わります。

**root@your-host#**

問題を調査して解決します。たとえば、潜在的なバグを修正するためにシステムを更新します。

sudo apt-get update && apt-get upgrade -y
sudo apt-get --install ssh -y

固定するホスト鍵検証失敗エラー情報:

ssh-keygen -R hostname

完了したら終了し、DKMコンソールのプロンプトに戻ります。

`**root@your-host#** exit `

救出された銀行

*ubuntu@rescue#*

同じKVMコンソールを介してサーバーを再起動します。

*ubuntu@rescue#* shutdown -r now

正常にログインし直してください。

ローカルアクセスオプション

お持ちの場合ローカルまたはラックアクセス、ディスクを取り出し、同じバージョンの動作している他のLinuxにインストールします。例:

***mytech@hostname#***

 mkdir tempDisk

mount --bind /dev/xvda2 /tempDisk
mount --bind /proc /tempDisk/proc
mount --bind /dev /tempDisk/dev
mount --bind /sys /tempDisk/sys

次のコマンドを使用してアクセスを再取得します。chroot / tempDisk

注:サーバーのルートディレクトリにあるので、プロンプトが変わります!

myServer@hostname#;

sudo apt-get update && apt-get upgrade -y
sudo apt-get --install ssh -y

固定するホスト鍵検証失敗エラー情報:

ssh-keygen -R hostname

終了完了

`**myServer@hostname#** exit `

ディスクを取り出し、元のサーバーに再挿入してから彼女を興奮させる

答え3

私の問題があなたの問題とまったく同じかどうかはわかりませんが、似ているので、解決策を投稿します。

予備情報

  • Ubuntu 20.04とWindows 10をデュアルブートします。
  • 私が接続しているシステムは同じローカルネットワークにあります。
  • Ubuntuはサーバーに接続できませんが、Puttyを使用してWindows 10のサーバーに接続できます。

ここで解決策を見てみると、比較的簡単です。

そのため、Ubuntuがサーバーに接続しようとしたときにこのコマンドを使用しましたが、うまくいかなかったため、ssh USER@SERVER_NAMEルーターで見つかったサーバーのローカルアドレスを見つけることにしました。その後、このコマンドを試してみssh USER@SERVER_LOCAL_IP ました。

これが誰かに役立つことを願っています。

関連情報