通信用語の基礎知識 全国のICカードこれひとつ 戻る

OpenSSH
辞書:電算用語の基礎知識 ネットアプリ編 (PNAPLNU)
読み:オープン-エスエスエイチ
外語:OpenSSH
品詞:商品名

SSHプロトコルの実装の一つで、BSDライセンスに基づくフリーソフトウェアとして利用・配布されているもの。

目次
概要

OpenBSDプロジェクトによって開発されているオープンソースのSSH実装で、SSH実装の代表例である。

OpenSSHは、SSHバージョン1.3、1.5(SSH1)と、2.0(SSH2)のプロトコルに対応し、かつsftpのクライアントとサーバーに対応している。

OpenSSHでは、rlogin/telnetの代わりのssh、rcpの代わりのscp、ftpの代わりのsftpというクライアント側ソフトの一式を含み、さらにサーバー側のパッケージsshdや、ツールssh-add、ssh-agent、ssh-keysign、ssh-keyscan、ssh-keygen、sftp-serverなどを含む。

特徴
移植

OpenSSHは、OpenBSD 2.6に初めて搭載された。以降、主としてOpenBSDを対象に開発が続いているが、他のプラットフォーム版もOpenSSH移植チーム(The OpenSSH Portability Team)によってメンテナンスされており、こちらは「Portable OpenSSH」という名で配布されている。

本家と移植版はバージョン番号で区別される。末尾のほうにp1のように「p」サフィックスが付くのが移植版で、例えば4.4を元に移植された最初の版は4.4p1のようになる。

動作環境

移植という作業があるためバージョンの新旧はあるが、実に様々なUNIX互換OS上で動作する。

知られる範囲では、次の環境で動作する(OpenBSD以外はアルファベット順)。

現在、移植が表明されている環境は、AIX、HP-UX、IRIX、Linux、NeXT、Solaris、OS X、Cygwinの8プラットフォームである。

性能

OpenSSHがよく使われている理由は、フリーであるだけでなく、その性能にもよる。

様々な機能が搭載されているが、特に有用なものだけでも、次のようなものがある。

設定方法

OpenSSHには、意外と「嫌な感じのハマりポイント」があり、その原因究明が困難で無駄な時間を消耗し、解決後は不快な気分になりがちである。

ここでは「ホスト認証」をしたい場合の、簡単な設定方法と、注意点などを述べる。

想定環境

説明にあたり、想定する環境を次に示す。

サーバーの設定

sshdの設定を確認および変更する。

特に重点的にチェックすべき項目は、次の通り。

基本的には、このくらいを押さえておけば問題なく運用できるはずである。もしファイル名やディレクトリ名を変更して運用する場合は、その設定も行なうこと。

サーバー準備

shostで続いて環境整備を行なう。user1でログインして行なう。基本作業を書くが、既にディレクトリがある等の場合、省略可能なものもある。

cd /home/user1

mkdir .ssh

chmod 700 .ssh

.sshディレクトリは、くれぐれもuser以外の+wパーミッションを立てないこと(+rや+xは良いので、755でも可)。さもないと認証で蹴られ、謎のログイン不能状態に悩むことになる。

クライアント側設定

クライアントで鍵を作り、公開鍵をサーバー側へ渡す必要がある。その方法は様々あるので、やりやすい方法を選択するべきであろう。

まずは、chostでの設定。user1でログインして行なう。

ssh-keygen -t dsa

このコマンドを使うと、DSAの鍵が作られる。RSAを使いたい場合は「-t rsa」とすればよい。もしSSH1のRSAが使いたいなら、「-t rsa1」である。

実行すると、次の三つのプロンプトが表示されるが、全てそのままEnterを押せばよい。ホスト認証の場合、大抵はパスワード無しでログインしたいケースであろうから、ここを空にするのである。

Enter file in which to save the key (/home/user1/.ssh/id_dsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

実行すると、一番目のプロンプトに書かれた場所に鍵が作られる。この場合は、/home/user1/.sshの中に、id_dsaという秘密鍵と、id_dsa.pubという公開鍵が出来る。

次にすることは、公開鍵id_dsa.pubをサーバーに送る作業である。

scp id_dsa.pub shost:/home/user1/.ssh/id_dsa.pub

scpが使えない場合は、サーバーにログインし、viなどを使って編集すると良いだろう。クライアント側でcat id_dsa.pubなどとして表示し、それをクリップボードにコピー、サーバー側でペーストすればよい。

設定完了

これで一通りの設定は完了した。

マシンを再起動するか、rootにsuして次のコマンドでsshdを再起動する。

/etc/rc.d/init.d/sshd restart

違う場所に置かれている場合は、適時対応すること。これが、停止、起動ともにOKとなれば再起動に成功している。

いよいよログインすることになる。

ssh host1

これで、パスワード無しでログインできたはずである。

トラブルシュート

ここで最もよく目にするエラーは、次のようなものである。

Permission denied (publickey,keyboard-interactive).

括弧の中は設定により変わるので、あまり気にする必要はない。この原因にはいくつかある。

最も単純なものは、鍵ファイルそのものが無い。次の盲点は、.sshのパーミッションの設定が甘い。特に.sshのパーミッションは分かりにくいので気をつけられたい。

どうしても見つからない不具合は、クライアント側で-vオプションをつけたり、サーバー側ではsshd_configの設定を「LogLevel DEBUG3」とし、syslogで結果を確認する、などがある。

リンク
関連するリンク
OpenSSH
用語の所属
SSH

[再検索] [戻る]


通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club
KisoDic