コマンドラインで「openssl」と入力したら、「openssl: command not found」というエラーが表示されて困っていませんか?
SSL証明書の作成や暗号化処理を行おうとした時、opensslコマンドが見つからないと作業が進まなくて焦りますよね。「さっきまで使えたのに」「インストールしたはずなのに」と戸惑うこともあるでしょう。
実はこのエラーは、OpenSSLがシステムにインストールされていないか、インストールされていてもパスが通っていない場合に発生します。でも安心してください。ほとんどの場合、適切なインストール手順を踏めば簡単に解決できるんです。
この記事では、「openssl: command not found」エラーの原因から、Windows・Mac・Linux各OSでのインストール方法、確認方法、トラブルシューティングまで、初心者の方にも分かりやすく解説していきます。手順通りに進めれば、必ず解決できますよ!
OpenSSLとは?基礎知識

まず、OpenSSLについて基本を理解しましょう。
OpenSSLの定義
OpenSSLとは、SSL/TLSプロトコルを実装したオープンソースのツールキットです。
簡単に言うと
インターネット通信の暗号化や、デジタル証明書の作成・管理を行うためのソフトウェアです。
主な用途
- SSL/TLS証明書の生成
- データの暗号化・復号化
- デジタル署名の作成
- パスワードのハッシュ化
- セキュアな通信の実現
ウェブサーバーの構築や、セキュリティ関連の作業で必須のツールなんです。
なぜ必要なのか
使用する場面
- Webサーバー(Apache、Nginx)の設定
- Let’s Encryptなどの証明書取得
- 開発環境でのHTTPS対応
- ファイルの暗号化
- セキュリティテスト
開発者やシステム管理者にとって、なくてはならないツールですね。
コマンドラインツール
OpenSSLは主にコマンドラインから使用します。
基本的なコマンド形式
openssl [サブコマンド] [オプション]
例:
openssl version
openssl req -new -x509 -days 365
openssl enc -aes-256-cbc -in file.txt
このコマンドが「見つからない」というエラーが今回の問題です。
エラーの原因を理解する
「command not found」が表示される理由を見ていきましょう。
原因1:OpenSSLがインストールされていない
最も一般的な原因です。
どういうこと?
OpenSSLがシステムに存在しないため、コマンドを実行できません。
確認方法
which openssl
何も表示されない場合は、インストールされていません。
原因2:パスが通っていない
OpenSSLはインストールされているが、システムが場所を認識していない状態です。
パス(PATH)とは
システムがプログラムを探す場所のリストです。パスが通っていないと、コマンドを実行できません。
典型的なケース
- Windowsで手動インストールした
- カスタムディレクトリにインストールした
- 環境変数が正しく設定されていない
原因3:環境によって場所が違う
OSやインストール方法によって、OpenSSLの場所が異なります。
一般的なインストール場所
Windows
- C:\Program Files\OpenSSL-Win64\bin
- C:\OpenSSL-Win64\bin
Mac(Homebrew経由)
- /usr/local/opt/openssl/bin
- /opt/homebrew/opt/openssl/bin(Apple Siliconの場合)
Linux
- /usr/bin/openssl
- /usr/local/bin/openssl
場所を知ることが解決の第一歩です。
原因4:複数バージョンの競合
古いバージョンと新しいバージョンが混在していることもあります。
問題
- システムが間違ったバージョンを参照
- パスの優先順位が不適切
- シンボリックリンクの問題
この場合は、不要なバージョンの削除や、パスの調整が必要です。
【Windows】OpenSSLのインストールと設定
Windows環境での解決方法を詳しく見ていきましょう。
方法1:公式ビルドをインストール
最も確実な方法です。
手順
- Shining Light Productionsのサイトにアクセス
- URL: slproweb.com/products/Win32OpenSSL.html
- 「Win64 OpenSSL」の最新版をダウンロード
- 例:Win64 OpenSSL v3.x.x Light(軽量版で十分)
- ダウンロードしたインストーラーを実行
- インストールウィザードに従う
- インストール先を確認(デフォルト: C:\Program Files\OpenSSL-Win64)
重要な設定
インストール中に「OpenSSL binaries」を「The OpenSSL binaries (/bin) directory」に配置するオプションを選択してください。
パスを通す(環境変数の設定)
インストール後、システムにOpenSSLの場所を教える必要があります。
手順(Windows 10/11)
- スタートメニューで「環境変数」と検索
- 「システム環境変数の編集」を選択
- 「環境変数」ボタンをクリック
- 「システム環境変数」のセクションで「Path」を選択
- 「編集」ボタンをクリック
- 「新規」をクリック
- OpenSSLのbinディレクトリのパスを追加
C:\Program Files\OpenSSL-Win64\bin
- 「OK」をクリックして保存
- すべてのダイアログを「OK」で閉じる
設定の反映
新しいコマンドプロンプトまたはPowerShellウィンドウを開いて確認してください。既存のウィンドウでは反映されません。
動作確認
コマンドプロンプトで確認
- Windowsキー + R を押す
- 「cmd」と入力してEnter
- 以下のコマンドを実行
openssl version
バージョン情報が表示されればOKです!
PowerShellでの確認
openssl version
同じくバージョンが表示されれば成功です。
Git for Windowsに含まれるOpenSSL
Gitをインストールしている場合、OpenSSLも含まれています。
場所
C:\Program Files\Git\usr\bin\openssl.exe
使い方
Git Bashを起動すると、OpenSSLコマンドが使えます。
パスを通す場合
Gitのbinディレクトリを環境変数Pathに追加:
C:\Program Files\Git\usr\bin
ただし、他のUNIXツールも追加されるため、注意が必要です。
【Mac】OpenSSLのインストールと設定
Mac環境での解決方法です。
macOSに標準で入っているOpenSSL
実は、macOSにはLibreSSLが標準でインストールされています。
確認方法
which openssl
表示例:
/usr/bin/openssl
バージョン確認
openssl version
表示例:
LibreSSL 3.3.6
ただし、これは古いバージョンのことが多く、最新のOpenSSLが必要な場合があります。
Homebrewでインストール(推奨)
最新版のOpenSSLをインストールする最良の方法です。
Homebrewがない場合
まずHomebrewをインストール:
- ターミナルを開く
- 以下のコマンドを実行
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
OpenSSLのインストール
brew install openssl
インストール完了後の注意
Homebrewは、システムの標準OpenSSLを上書きしません。そのため、パスを通す必要があります。
パスを通す(Mac)
一時的にパスを通す
現在のターミナルセッションだけで有効:
Intel Mac
export PATH="/usr/local/opt/openssl/bin:$PATH"
Apple Silicon Mac(M1/M2/M3)
export PATH="/opt/homebrew/opt/openssl/bin:$PATH"
恒久的にパスを通す
シェルの設定ファイルに追記します。
zshの場合(macOS Catalina以降のデフォルト)
- ターミナルで以下を実行
nano ~/.zshrc
- ファイルの最後に以下を追加(Intel Mac)
export PATH="/usr/local/opt/openssl/bin:$PATH"
または(Apple Silicon)
export PATH="/opt/homebrew/opt/openssl/bin:$PATH"
- Ctrl + O で保存、Ctrl + X で終了
- 設定を反映
source ~/.zshrc
bashの場合(古いmacOS)
nano ~/.bash_profile
同様に追記して保存、反映:
source ~/.bash_profile
動作確認
新しいターミナルウィンドウを開いて:
openssl version
以下のように表示されればOK:
OpenSSL 3.1.x
(数字はバージョンによって異なります)
シンボリックリンクの作成(代替方法)
パスを通さずに、シンボリックリンクを作成する方法もあります。
sudo ln -s /usr/local/opt/openssl/bin/openssl /usr/local/bin/openssl
ただし、システムの既存ファイルと競合する可能性があるため、パスを通す方法を推奨します。
【Linux】OpenSSLのインストールと設定

Linux環境での解決方法です。
Ubuntu/Debian系
インストール
sudo apt update
sudo apt install openssl
開発ライブラリも必要な場合
プログラミングでOpenSSLを使う場合:
sudo apt install libssl-dev
CentOS/RHEL/Fedora系
インストール
sudo yum install openssl
Fedora 22以降
sudo dnf install openssl
開発ライブラリ
sudo yum install openssl-devel
または
sudo dnf install openssl-devel
Arch Linux
sudo pacman -S openssl
動作確認
openssl version
バージョン情報が表示されればOKです。
パスの問題(Linux)
通常、パッケージマネージャーでインストールすれば自動的にパスが通ります。
それでも見つからない場合
which openssl
何も表示されない場合:
インストールされているか確認
Ubuntu/Debian:
dpkg -l | grep openssl
CentOS/RHEL:
rpm -qa | grep openssl
再インストール
sudo apt reinstall openssl
または
sudo yum reinstall openssl
ソースからビルドする方法(上級者向け)
最新版や特定バージョンが必要な場合の方法です。
前提条件
コンパイルに必要なツールをインストール:
Ubuntu/Debian
sudo apt install build-essential checkinstall zlib1g-dev
CentOS/RHEL
sudo yum groupinstall 'Development Tools'
sudo yum install perl-core zlib-devel
ダウンロードとビルド
手順
- 公式サイトからソースコードをダウンロード
cd /usr/local/src
sudo wget https://www.openssl.org/source/openssl-3.1.0.tar.gz
- 展開
sudo tar -xzvf openssl-3.1.0.tar.gz
cd openssl-3.1.0
- 設定
sudo ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
- コンパイル
sudo make
- テスト(オプション)
sudo make test
- インストール
sudo make install
パスの設定
一時的
export PATH="/usr/local/ssl/bin:$PATH"
恒久的
~/.bashrcまたは~/.zshrcに追記:
export PATH="/usr/local/ssl/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/ssl/lib:$LD_LIBRARY_PATH"
反映:
source ~/.bashrc
動作確認
openssl version
ビルドしたバージョンが表示されればOKです。
よくあるトラブルと解決方法
インストール後によく遭遇する問題です。
問題1:パスを通したのにまだ見つからない
原因
既存のターミナルセッションには反映されていません。
解決法
- ターミナルを完全に閉じる
- 新しいターミナルウィンドウを開く
- 再度コマンドを実行
または、設定を即座に反映:
source ~/.bashrc # bashの場合
source ~/.zshrc # zshの場合
問題2:複数のバージョンが存在する
確認方法
which -a openssl
複数のパスが表示される場合、競合しています。
解決法
使いたいバージョンのパスを最優先にする:
Linux/Mac
~/.bashrcまたは~/.zshrcで、希望するパスを先頭に配置:
export PATH="/usr/local/ssl/bin:$PATH"
Windows
環境変数Pathで、希望するパスをリストの上位に移動させます。
問題3:権限エラーが出る
エラー例
Permission denied
原因
インストールディレクトリへの書き込み権限がありません。
解決法
Linuxの場合:
sudo chown -R $USER:$USER /usr/local/ssl
または、sudoを使ってコマンドを実行:
sudo openssl [コマンド]
問題4:ライブラリが見つからない
エラー例
error while loading shared libraries: libssl.so.3
原因
OpenSSLの共有ライブラリのパスが通っていません。
解決法(Linux)
- ライブラリパスを設定
export LD_LIBRARY_PATH=/usr/local/ssl/lib:$LD_LIBRARY_PATH
- 恒久的に設定(~/.bashrcに追記)
echo 'export LD_LIBRARY_PATH=/usr/local/ssl/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
- または、ldconfigを更新
sudo sh -c "echo /usr/local/ssl/lib > /etc/ld.so.conf.d/openssl.conf"
sudo ldconfig
問題5:Windowsで「このアプリはお使いのPCでは実行できません」
原因
32ビット版をダウンロードしたか、64ビット版が必要です。
解決法
- システムのビット数を確認
- 設定 → システム → バージョン情報
- 適切なバージョン(Win32またはWin64)をダウンロードし直す
- 再インストール
OpenSSLの基本的な使い方

インストールできたら、基本的なコマンドを試してみましょう。
バージョン確認
openssl version
詳細情報:
openssl version -a
利用可能なコマンド一覧
openssl list -commands
自己署名証明書の作成
開発環境で使う証明書の作成例:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
対話式で情報を入力します。
ファイルの暗号化
暗号化
openssl enc -aes-256-cbc -salt -in file.txt -out file.enc
復号化
openssl enc -aes-256-cbc -d -in file.enc -out file.txt
パスワードの入力を求められます。
ハッシュ値の計算
MD5
openssl md5 file.txt
SHA-256
openssl sha256 file.txt
Base64エンコード/デコード
エンコード
echo "Hello World" | openssl base64
デコード
echo "SGVsbG8gV29ybGQK" | openssl base64 -d
これらは基本的な使い方のほんの一部です。
よくある質問と回答
Q1:OpenSSLとLibreSSLの違いは何ですか?
A:LibreSSLはOpenSSLから分岐したプロジェクトです。
主な違い
- LibreSSL:セキュリティと簡潔さを重視
- OpenSSL:互換性と機能の豊富さを重視
macOSではLibreSSLが標準ですが、多くの場合OpenSSLの方が互換性が高いため、Homebrewで別途インストールすることが推奨されます。
Q2:OpenSSL 1.xと3.xの違いは?
A:OpenSSL 3.0は大幅なアップデートです。
主な変更点
- 新しいプロバイダーアーキテクチャ
- 非推奨APIの削除
- FIPSモジュールの改善
既存のスクリプトが動かなくなる可能性があるため、互換性を確認してください。
Q3:どのバージョンをインストールすべきですか?
A:基本的には最新の安定版を推奨します。
推奨
- 新規プロジェクト:OpenSSL 3.x
- 既存システム:現在使っているバージョンと同じメジャーバージョン
- 学習目的:最新版
特別な理由がなければ、パッケージマネージャーが提供するバージョンを使いましょう。
Q4:アンインストールしたいのですが
A:インストール方法によって異なります。
Windows(インストーラー経由)
- コントロールパネル → プログラムのアンインストール
- OpenSSLを選択してアンインストール
Mac(Homebrew経由)
brew uninstall openssl
Linux(パッケージマネージャー経由)
sudo apt remove openssl # Ubuntu/Debian
sudo yum remove openssl # CentOS/RHEL
ソースからビルドした場合
cd /usr/local/src/openssl-x.x.x
sudo make uninstall
Q5:Gitに含まれるOpenSSLで十分ですか?
A:基本的な用途なら十分ですが、制限があります。
メリット
- 追加インストール不要
- Git Bashで使える
デメリット
- バージョンが古い可能性
- 通常のコマンドプロンプトでは使えない
- 一部の機能が制限されている
本格的に使う場合は、専用にインストールすることをおすすめします。
セキュリティとベストプラクティス
OpenSSLを使う上での注意点です。
定期的なアップデート
OpenSSLは定期的にセキュリティパッチがリリースされます。
更新方法
Windows
- 新しいインストーラーをダウンロードして上書きインストール
Mac(Homebrew)
brew upgrade openssl
Linux
sudo apt update && sudo apt upgrade openssl # Ubuntu/Debian
sudo yum update openssl # CentOS/RHEL
秘密鍵の管理
重要な原則
- 秘密鍵は絶対に共有しない
- 適切な権限設定(600または400)
- パスワード保護を推奨
- 定期的なローテーション
権限設定の例
chmod 600 private.key
本番環境での使用
注意点
- テスト環境と本番環境を分ける
- 自己署名証明書は本番で使わない
- 信頼できる認証局(CA)の証明書を使用
- ログの監視
環境変数の保護
OPENSSL_CONFなどの環境変数が設定されている場合:
- 意図しない設定ファイルを参照しないよう注意
- セキュリティ設定を確認
まとめ:OS別の解決手順おさらい
「openssl: command not found」エラーの解決方法を解説してきました。
Windows
- Shining Light Productionsからインストーラーをダウンロード
- インストール
- 環境変数Pathに追加
- 新しいコマンドプロンプトで確認
Mac
- Homebrewをインストール(なければ)
brew install openssl- パスを~/.zshrcに追記
source ~/.zshrcで反映- 新しいターミナルで確認
Linux
- パッケージマネージャーでインストール
- Ubuntu/Debian:
sudo apt install openssl - CentOS/RHEL:
sudo yum install openssl
- 確認:
openssl version
共通の確認コマンド
openssl version
which openssl
OpenSSLは、セキュアな通信やデータ保護に不可欠なツールです。エラーが解決したら、証明書の作成や暗号化など、様々な用途に活用してください。
定期的なアップデートと、セキュリティのベストプラクティスを守って、安全に使いこなしましょう!


コメント