【CentOS】「-bash: ssh: command not found」でSSHアクセスができない時の対応方法


Linux系OSで以下の様にSSHアクセスができない場合があります。

$ ssh -p 22 root@172.17.0.3
-bash: ssh: command not found

エラーがそもそも「ssh」コマンド自体を認識していません。
当たり前の様に思いますが、MinimalインストールしたOSなどでよく引っかかる方が多いのでメモをしておきます。


エラーの原因はSSHクライアントをインストールしていないから

上記でも説明した様に、そもそもSSHコマンドをOSが認識していません。

「openssh-server」はインストールしても、クライアント側をインストールしていないと今回の様なエラーが発生します。

以下は、SSHクライアントをyumインストールした例となります。

[root@93f3d6ddfadd ~]# yum -y install openssh-clients
Failed to set locale, defaulting to C.UTF-8
Last metadata expiration check: 0:58:47 ago on Thu Sep 17 09:02:08 2020.
Dependencies resolved.
===============================================================================================================
 Package                     Architecture       Version                               Repository          Size
===============================================================================================================
Installing:
 openssh-clients             x86_64             8.0p1-4.el8_1                         BaseOS             704 k
Installing dependencies:
 libedit                     x86_64             3.1-23.20170329cvs.el8                BaseOS             102 k

Transaction Summary
===============================================================================================================
Install  2 Packages

Total download size: 806 k
Installed size: 3.6 M
Downloading Packages:
(1/2): libedit-3.1-23.20170329cvs.el8.x86_64.rpm                                75 kB/s | 102 kB     00:01    
(2/2): openssh-clients-8.0p1-4.el8_1.x86_64.rpm                                175 kB/s | 704 kB     00:04    
---------------------------------------------------------------------------------------------------------------
Total                                                                          169 kB/s | 806 kB     00:04     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                       1/1 
  Installing       : libedit-3.1-23.20170329cvs.el8.x86_64                                                 1/2 
warning: Unable to get systemd shutdown inhibition lock: Unit systemd-logind.service is masked.

  Installing       : openssh-clients-8.0p1-4.el8_1.x86_64                                                  2/2 
  Running scriptlet: openssh-clients-8.0p1-4.el8_1.x86_64                                                  2/2 
  Verifying        : libedit-3.1-23.20170329cvs.el8.x86_64                                                 1/2 
  Verifying        : openssh-clients-8.0p1-4.el8_1.x86_64                                                  2/2 

Installed:
  libedit-3.1-23.20170329cvs.el8.x86_64                  openssh-clients-8.0p1-4.el8_1.x86_64                 

Complete!

インストール後に再度アクセス

SSHクライアントをインストールすることにより、LinuxOSがSSHコマンドを認識し、以下の様にSSHログインができる様になります。

[root@93f3d6ddfadd ~]# ssh -p 22 root@172.17.0.3
The authenticity of host '172.17.0.3 (172.17.0.3)' can't be established.
ECDSA key fingerprint is SHA256:aBt16y+tURqSmgzLDJYBdV5aEUXSPdc5e0rtWxsOrAM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '172.17.0.3' (ECDSA) to the list of known hosts.
root@172.17.0.3's password: 

単純なことですが、結構見落としやすいので参考にしてください。


関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!