この記事は、Linux インスタンスに接続できない原因と解決策を紹介し、具体的な手順に焦点を当てています。この記事の内容は、皆様に何かを得ることができることを願っています。
Linux インスタンスに接続できない
ECS インスタンスに接続できない原因の分類と発生確率を次の図に示します。インスタンスに接続できない場合は、次の理由に基づいてトラブルシューティングを行うことをお勧めします。
#まずはリモート接続を試してください
理由が何であれ、接続できない場合は、 Alibaba Cloud が提供するリモート接続機能を使用して接続し、原因に応じて障害を分類してください。 クラウドサーバー管理コンソールにログインします。 接続する必要があるインスタンスを見つけたら、「操作」列で「リモート接続」をクリックします。#管理端末に接続します。初めて接続するときは、最初にパスワードをコピーする必要があります。
#パスワードを入力したら、インスタンスに接続します。
パスワードを忘れた場合は、クリックしてください。 パスワードを忘れた場合は、管理端末のパスワードを変更し、新しいパスワードを設定します。 I/O 最適化インスタンスの場合、パスワードの変更は再起動しなくてもすぐに有効になります。
ECS インスタンスに接続できないトラブルシューティングのアイデア。 以下の順序で原因を一つずつ確認してください。
クライアントローカルネットワーク異常 [発生確率:3%]インスタンスのパスワードをリセットし、 ECS インスタンスが再起動されなかった [発生確率: 7%]iptables 設定異常 (Centos 6) [発生確率: 10%]セキュリティグループのパブリックネットワークルール [発生確率:8%] ]リモート アクセス ポートの構成例外 [発生確率: 10%]CPU 負荷が高すぎます [発生確率: 9%] 1クライアントローカルネットワーク異常 [発生確率:3%]障害現象:外部ネットワークにログインできません。
考えられる理由: ネットワーク カード ドライバーがオンになっていないか、ネットワーク カードの構成に問題があります。 解決策: /etc/hosts.deny を探して、傍受された IP があるかどうかを確認し、ネットワーク カード ドライバーを確認して再インストールします。 2. インスタンスのパスワードがリセットされるが、インスタンスが再起動されない [発生確率: 7%]障害現象:インスタンスのパスワード変更の記録はありますが、インスタンスの再起動の記録はありません。
考えられる理由: インスタンスのパスワードを変更しましたが、ECS インスタンスを再起動しませんでした。 解決策: クラウド サーバー管理コンソールにログインします。 左側のナビゲーション バーで [インスタンス] をクリックします。 ページの上部にある領域をクリックします。 必要なインスタンスを選択します。 「再起動」をクリックします。 ポップアップ プロンプト ボックスで、[再起動] を選択し、[OK] をクリックします。 3. iptables 設定例外 (Centos 6) [発生確率: 10%]前提条件: 許可されている場合のみシャットダウンできます。トラブルシューティングは、iptables がインストールされている場合にのみ実行できます。
障害現象: SSH に接続できません。iptables を終了すると接続が回復します。 解決策: iptables 構成ポリシーを調整します。 View firewall rules:iptables -nvL –line-numberL 現在のテーブル内のすべてのルールを表示します。NAT テーブルを表示したい場合は、-t NAT を追加します。パラメータ。 n このパラメータを追加すると、IP アドレスの逆チェックは実行されなくなり、表示が大幅に高速化されます。 v ルールを通過したパケット数、総バイト数、対応するネットワーク インターフェイスなどの詳細情報を出力します。 ルールを変更します。 以前にルール ポリシーを設定したことがある場合は、以前に設定したポリシーが失われないように、元の iptables ファイルのコピーを保存してください。
cp -a /etc/sysconfig/iptables /etc/sysconfig/iptables.bakサーバー上のすべてのルールをクリアします。
iptables -Fすべてのリクエストを拒否するように INPUT 方向を設定します。ネットビジネスの場合は直接運営することは事業に直接支障をきたしますので絶対に行わないでください。
iptables -P INPUT DROPiptables ファイアウォールを設定した後、ポート 22 を許可する必要があります。許可しないと、リモート障害が発生します。
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPTポート 22 にアクセスするための IP を指定します。
iptables -I INPUT -s 192.168.1.1 -p tcp --dport 22 -j ACCEPT説明: 192.168.1.1 は要求側の終了 IP アドレスです。 追加したルールが有効かどうかを確認するには、iptables -L を使用します。
rreeee
保存添加的规则。
iptables-save > /etc/sysconfig/iptables
设置后需要重启iptables。
service iptables restart 或 /etc/init.d/iptables restart
操作完成后,重启服务器进行配置验证。
systemctl reboot
完成操作后,请再进行 SSH 连接。
4. 安全组公网规则 [出现概率:8%]
故障现象:ECS 服务器无法ping通,排查iptables、网卡IP配置无误,回滚系统后仍然无法ping通。
可能原因:ECS 实例安全组默认的公网规则被删除。
解决方法:重新配置 ECS 实例的安全组公网规则,具体操作详见 ECS实例安全组默认的公网规则被删除导致无法ping通。
5. 远程访问端口配置异常 [出现概率:10%]
故障现象:SSH 远程无法连接,远程访问端口非默认端口。
可能原因:更改了远程访问端口配置,有可能防火墙未对自定义端口放开。
解决方法:客户端无法正常登录时,建议先使用不同的 SSH 客户端基于相同账户信息进行登录测试。如能正常登录,则判断是客户端配置问题,需对客户端配置做排查分析。
使用 telnet 测试现有监听端口连通性。使用 Linux 自带的 telnet 工具测试现有端口的连通性。
telnet <host> <port> # host 是目标服务器 IP,port是待测试端口号
修改或查看Linux远程端口:
vi /etc/ssh/sshd_config
找到 #port 22 这一行,默认端口为 22,可以把前面的#删除,把 22 改为其它的端口。
重启SSH服务:
/etc/init.d/sshd restart 或 service sshd restart
创建新的监听端口测试。
可以使用 python 自带的 Web 服务器用于临时创建新的监听端口进行测试。
python -m SimpleHTTPServer <所需端口号>
说明:
您可以通过自动测试默认端口来检测远程访问端口的问题。
服务监听能使用的端口范围为 0~65535,错误配置监听端口会导致远程桌面服务监听失败。
6. CPU 负载过高 [出现概率:9%]
故障现象:CPU 负载过高导致系统无法进行远程连接。
解决方法:您无法主动监控系统内部的程序运行状态,可以借助 云监控 > 主机监控 > 进程监控 来实现。
查看应用运行情况,排除 CPU 负载过高的原因。查看 CPU 负载问题详见 云服务器 ECS Linux 系统 CPU 占用率较高问题排查思路。
注意:在某个时间段 CPU 负载过高可能导致远程连接失败,建议您查询是否程序或者实例资源不满足现有要求。
最后尝试重启实例
若用阿里云提供的远程连接功能仍无法成功连接实例,请尝试重启实例。重启操作会使实例停止工作,从而中断业务,请谨慎执行。
注意:重启实例前,需对实例创建快照,用于数据备份或者制作镜像。创建快照的方法详见:创建快照。
在控制台重启实例。重启实例后,请再次尝试实例连接。
以上がLinux インスタンスに接続できない理由と解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。