$Date: 2023/07/06 20:30:28 $
SSH クライアント機能では、SSH を使用して指定したホストにリモートログインをすることができます。
SSH クライアント機能の主な仕様を以下に示します。
SSH クライアント機能は、OpenSSH、OpenSSL および zlib を使用しています。これらのアプリケーションまたはライブラリに脆弱性が発見された場合は、ホームページ上で脆弱性の概要および対策を公開します。
SSH クライアントでは、以下の機能についてはサポートしていません。
ヤマハルーターでは以下の機種およびファームウェアで、SSH クライアント機能をサポートしています。
機種 | ファームウェア |
---|---|
YSL-V810 | すべてのリビジョン |
vRX VMware ESXi版 | |
vRX Amazon EC2版 | |
RTX3510 | |
RTX1300 | |
RTX1220 | |
RTX830 | |
NVR510 | |
NVR700W | |
RTX1210 | |
RTX5000 | |
RTX3500 | |
FWX120 | Rev.11.03.04以降 |
RTX810 | Rev.11.01.12以降 |
NVR500 | Rev.11.00.23以降 |
RTX1200 | Rev.10.01.42以降 |
ルーターのコンソールから ssh コマンドを実行し、SSH によるリモートログインを行います。
ssh コマンドは security class コマンドによって使用が制限されています。SSH を実行するために security class コマンドを設定して、ssh コマンドの使用を許可します。
security class 1 on off on
ssh コマンドを実行します。
ssh [-p <ポート番号>] [-e <エスケープ文字の文字コード>] <ユーザ名@ホスト名>
<リモートホストのポート番号>の初期値は 22です。22番ポート以外を使用している場合には、接続するリモートホストのポート番号に合わせて指定してください。
22番ポートに接続する場合には<リモートホストのポート番号>を省略することができます。
<エスケープ文字の文字コード>の初期値は 126(チルダ "~")です。エスケープ文字を使用したエスケープシーケンスについてはこちらをご覧ください。
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 test@192.168.0.1 WARNING: DSA key found for host 192.168.0.1 in /ssh/known_hosts:1 DSA key fingerprint aa:bb:cc:dd:ee:ff:gg:hh:ii:jj:kk:ll:mm:nn:oo:pp. The authenticity of host '192.168.0.1 (192.168.0.1)' can't be established but keys of different type are already known for this host. RSA key fingerprint is 00:11:22:33:44:55:66:77:88:99:aa:bb:cc:dd:ee:ff. Are you sure you want to continue connecting (yes/no)?
# ssh test@192.168.0.1 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that the DSA host key has just been changed. The fingerprint for the DSA key sent by the remote host is aa:bb:cc:dd:ee:ff:gg:hh:ii:jj:kk:ll:mm:nn:oo:pp. Please contact your system administrator.
SSHでは、認証が完了し対話型セッションを開始するとエスケープシーケンスが利用可能になります。
ルーターのSSHでは、次のエスケープシーケンスに対応しています。
エスケープシーケンス | 説明 |
---|---|
<エスケープ文字>. | SSHセッションを終了します。 |
<エスケープ文字><エスケープ文字> | <エスケープ文字>を1回だけサーバに送信します。 |
なお、対話型セッションを開始する前まで(接続開始から認証が完了するまでの間)にサーバとの接続を強制終了させたい場合には、Ctrl+Cを入力してください。
SSHを実行し、指定したホストにリモートログインする。
USERを省略した場合、ルーターにログインした際に入力したユーザ名を使用してSSHサーバーへのアクセスを試みる。
HOSTにIPv6アドレスを指定する場合には、"["、"]"でIPアドレスを囲む。
ESCAPEで指定したエスケープ文字は行頭に入力されたときだけ、エスケープ文字として認識される。エスケープ文字に続けてピリオド(.)が入力された場合、強制的に接続を閉じる。行頭からエスケープ文字を2回続けて入力した場合には、この文字が1回だけサーバに送られる。
ssh -p 10022 user@192.168.1.1
ssh user@[2001:1::1]
設定値 | 説明 |
---|---|
aes128-ctr | AES128-CTR |
aes192-ctr | AES192-CTR |
aes256-ctr | AES256-CTR |
aes128-cbc | AES128-CBC |
aes192-cbc | AES192-CBC |
aes256-cbc | AES256-CBC |
3des-cbc | 3DES-CBC |
blowfish-cbc | Blowfish-CBC |
cast128-cbc | CAST-128-CBC |
arcfour | Arcfour |
SSHクライアントで利用可能な暗号アルゴリズムを設定する。
ALGORITHMで指定した暗号アルゴリズムのリストをSSH接続時にサーバーへ提案する。
ALGORITHMで指定した暗号アルゴリズムをサーバーがサポートしていない場合には、そのサーバーとSSHによる接続ができない。
blowfish-cbc, cast128-cbc, arcfour のパラメータは次のリビジョン以降で非対応。
機種 | ファームウェア |
---|---|
RTX1210 | Rev.14.01.34 以降 |
NVR700W | Rev.15.00.16 以降 |
NVR510 | Rev.15.01.15 以降 |
RTX830 | Rev.15.02.10 以降 |
RTX1220 | すべてのリビジョン |
RTX1300 | |
RTX3510 | |
vRX Amazon EC2版 | |
vRX VMware ESXi版 |
SSHサーバの公開鍵情報を保存するファイルを指定する。
設定値 | 説明 |
---|---|
1 | シリアルでも、TELNET、SSH でも遠隔地のルーターからでもログインできる |
2 | シリアルと TELNET と SSH からは設定できるが、遠隔地のルーターからはログインできない |
3 | シリアルからのみログインできる |
設定値 | 説明 |
---|---|
on | 設定したパスワードの代わりに "w,lXlma" ( ダブリュー、カンマ、エル、エックス、エル、エム、エー) でもログインでき、設定の変更も可能になる。ただしシリアルのみ |
off | パスワードを入力しないとログインできない |
設定値 | 説明 |
---|---|
on | TELNET クライアントとしてtelnet コマンドが使用できる |
off | telnet コマンドは使用できない |
設定値 | 説明 |
---|---|
on | SSH クライアントとしてssh コマンドが使用できる |
off | ssh コマンドは使用できない |
セキュリティクラスを設定する。
remote setup accept コマンドにより、遠隔地のルーターからのログイン (remote setup) を細かくアクセス制限することができる。遠隔地のルーターからのログイン機能は、回線交換あるいは専用線を利用するため、それらに接続できる機種だけが持つ機能である。設定を変更したときに変更した値よりも多くのユーザが接続している場合は、接続しているユーザはそれを維持することができるが、接続しているユーザ数が設定値より少なくなるまで新たな接続は許可しない。
本機能において出力される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 (認証リスト) | 提案した認証方法による認証が拒否された |