SSHクライアント





概要

SSH クライアント機能では、SSH を使用して指定したホストにリモートログインをすることができます。
SSH クライアント機能の主な仕様を以下に示します。


注意事項

SSH クライアント機能は、OpenSSH、OpenSSL および zlib を使用しています。これらのアプリケーションまたはライブラリに脆弱性が発見された場合は、ホームページ上で脆弱性の概要および対策を公開します。

SSH クライアントでは、以下の機能についてはサポートしていません。


対象機種とリビジョン

ヤマハルーターでは以下の機種およびファームウェアで、SSH クライアント機能をサポートしています。

機種ファームウェア
YSL-V810 Rev.1.03.01以降
RTX830 Rev.15.02.01以降
NVR510 Rev.15.01.02以降
NVR700W Rev.15.00.02以降
RTX1210 Rev.14.01.05以降
RTX5000 Rev.14.00.08以降
RTX3500 Rev.14.00.08以降
FWX120 Rev.11.03.04以降
RTX810 Rev.11.01.12以降
NVR500 Rev.11.00.23以降
RTX1200 Rev.10.01.42以降

詳細

SSH を実行する

ルーターのコンソールから ssh コマンドを実行し、SSH によるリモートログインを行います。
ssh コマンドsecurity class コマンドによって使用が制限されています。SSH を実行するために security class コマンドを設定して、ssh コマンドの使用を許可します。

security class 1 on off on

ssh コマンドを実行します。

ssh [-p <ポート番号>] [-e <エスケープ文字の文字コード>] <ユーザ名@ホスト名>

<リモートホストのポート番号>の初期値は 22です。22番ポート以外を使用している場合には、接続するリモートホストのポート番号に合わせて指定してください。
22番ポートに接続する場合には<リモートホストのポート番号>を省略することができます。

<エスケープ文字の文字コード>の初期値は 126(チルダ "~")です。エスケープ文字を使用したエスケープシーケンスについてはこちらをご覧ください。

known_hostsファイルを利用したサーバ公開鍵の確認

SSH では、サーバの公開鍵情報をknown_hostsと呼ばれるファイルに保存し、接続する毎にサーバから受信した公開鍵とknown_hostsに記録されている公開鍵を照合し、信頼するサーバか否かを確認しています。
known_hostsに記録されていないサーバに初めて接続する場合、コンソールにサーバの公開鍵情報を出力し、サーバへの接続処理を継続するか否かを問うメッセージが出力されます。

# ssh test@192.168.0.1
The authenticity of host '192.168.0.1 (192.168.0.1)' can't be established.
RSA key fingerprint is aa:bb:cc:dd:ee:ff:gg:hh:ii:jj:kk:ll:mm:nn:oo:pp.
Are you sure you want to continue connecting (yes/no)?

'yes' を入力すると公開鍵をknown_hostsに登録し、サーバへの接続を行います。 'no' を入力すると、サーバとの接続を終了します。

2回目以降の接続でサーバの公開鍵が確認できた場合には、上記メッセージは出力されず、クライアントのユーザ認証が開始されます。
もし、初めてサーバに接続する場合と同様のメッセージが表示された場合には、known_hostsに登録されていないことになります。この場合には、次の理由が考えられます。

また、次のような場合においても公開鍵の確認を求めるメッセージが出力されます。

エスケープシーケンス

SSHでは、認証が完了し対話型セッションを開始するとエスケープシーケンスが利用可能になります。
ルーターのSSHでは、次のエスケープシーケンスに対応しています。

エスケープシーケンス 説明
<エスケープ文字>. SSHセッションを終了します。
<エスケープ文字><エスケープ文字> <エスケープ文字>を1回だけサーバに送信します。

なお、対話型セッションを開始する前まで(接続開始から認証が完了するまでの間)にサーバとの接続を強制終了させたい場合には、Ctrl+Cを入力してください。


コマンド


SYSLOGメッセージ

本機能において出力されるSYSLOGメッセージの一覧を以下に示します。
なお、実際に出力される各メッセージの先頭には"[SSH] "というプレフィックスが付与されます。

これら以外にも、サーバから受信したエラーメッセージをSYSLOGとして出力しています。

レベル 出力メッセージ 内容
INFO login succeeded ホスト名 SSHサーバへのログインに成功した
logout from ホスト名 SSHサーバからログアウトした
login failed ホスト名 SSHサーバへのログインに失敗した
DEBUG connection failed ホスト名 SSHサーバへの接続に失敗した
Can't create socket ソケットが生成できなかった
Can't connect to server SSHサーバへ接続できなかった
Can't resolve name サーバのホスト名の名前解決ができなかった
illegal address family 不正なIPアドレスファミリーが指定された
read error サーバからのパケット受信でエラーが発生した
write error サーバへのパケット送信でエラーが発生した
Connection closed by remote host サーバから切断された
Bad remote protocol version identification: バージョン サーバのプロトコルが不正なバージョンである
Remote machine has too old SSH software version. サーバのSSHプログラムのバージョンが古すぎる
Protocol major versions differ SSHプロトコルのバージョンが一致しない
Add correct host key in known_hostsファイル to get rid of this message. known_hostsファイルに正しいホスト鍵が追加されている
Offending key in known_hostsファイル:行数 公開鍵は known_hostファイル の 行数 にある
暗号方式 host key for ホスト名 has changed and you have requested strict checking. サーバのホスト鍵が変更されており、厳重な確認を要求された
Host key verification failed. サーバのホスト鍵の確認に失敗した
Server denied authentication request: 認証要求がサーバに拒否された
internal error: cannot send userauth none request 内部エラーにより、ユーザ認証要求 'none' を送信できなかった
Permission denied (認証リスト) 提案した認証方法による認証が拒否された

関連文書