キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
1216
閲覧回数
0
いいね!
0
コメント
Akira Iwamoto
Cisco Employee
Cisco Employee

 

 

はじめに

NSO 4.7.1 及び NSO 4.7.2 上において、netsim への接続に問題が発生する場合があります。

本ドキュメントでは、問題に対するWorkaroundを説明致します。

事象の紹介

作成したnetsim に対して、NSO から接続を行う場合には、netsim のSSHホストキーを取得する必要がありますが、

以下のようなエラーが発生する場合があります。

 

admin@ncs# devices fetch-ssh-host-keys
fetch-result {
device c0
result failed
info Failed to connect to device c0: No supported host key algorithms
}
admin@ncs#

 

また、SSH ホストキーを取得しないで以下のように接続をしようとしますと、同じくエラーが出ます。

admin@ncs# devices connect
connect-result {
device c0
result false
info Failed to connect to device c0: connection refused: Key exchange was not finished, connection is closed. in new state
}
admin@ncs#

同時に以下の alarm が発報されます。

*** ALARM connection-failure: Failed to connect to device c0: connection refused: Key exchange was not finished, connection is closed. in new state

admin@ncs# show alarms alarm-list alarm c0
alarms alarm-list alarm c0 connection-failure /devices/device[name='c0'] ""
is-cleared false
last-status-change 2019-01-25T16:09:39.744991+00:00
last-perceived-severity major
last-alarm-text "Failed to connect to device c0: connection refused: Key exchange was not finished, connection is closed. in new state"
status-change 2019-01-25T16:09:39.744991+00:00
received-time 2019-01-25T16:09:39.744991+00:00
perceived-severity major
alarm-text "Failed to connect to device c0: connection refused: Key exchange was not finished, connection is closed. in new state"
admin@ncs#

 

原因

netsim が使用するSSH ホストキーは、NSO のインストール時に生成されています。

 

$ cat $NCS_DIR/netsim/confd/etc/confd/ssh/ssh_host_rsa_key
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
NhAAAAAwEAAQAAAQEAzk7syejqAHp2lXxtR7MhN9G3/lK04NEHTMzZucnEY7PdVHUYJJ25
ZVnGph0NATXGev7iXMuMiHfRjKxiEm+cj2QJFisCArYnaVGu5B3eh12/ET0XNv78br3KK/

...

 

netsim インスタンス作成時には、それがコピーされています。

$ ls netsim/c/c0/ssh/
ssh_host_rsa_key ssh_host_rsa_key.pub

$ cat netsim/c/c0/ssh/ssh_host_rsa_key
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
NhAAAAAwEAAQAAAQEAzk7syejqAHp2lXxtR7MhN9G3/lK04NEHTMzZucnEY7PdVHUYJJ25
ZVnGph0NATXGev7iXMuMiHfRjKxiEm+cj2QJFisCArYnaVGu5B3eh12/ET0XNv78br3KK/
...

 

NSOは、当該 Linux にインストールされている ssh-keygen コマンドを使用しこれらを生成していますが、

openssh version 7.8 以降では、デフォルトのフォーマットが openssh private key へ変更となりました。

ConfDで作成されている netsim は、このフォーマットの SSH ホストキーが解釈出来ず、netsim の SSH サーバが正しく機能しません。

 

インストールされている openssh のバージョンは、以下のように確認してください。

$ ssh -V
OpenSSH_7.8p1, OpenSSL 1.0.2p 14 Aug 2018  

 

Workaround

SSHホストキーを、PEM フォーマットで手動で生成してください。

 

インストールディレクトリの元のキーを更新

$ ssh-keygen -q -t rsa -f $NCS_DIR/netsim/confd/etc/confd/ssh/ssh_host_rsa_key -m PEM -N ''
<NCSDIR>/netsim/confd/etc/confd/ssh/ssh_host_rsa_key already exists.
Overwrite (y/n)? y
$

 netsim 個体のキーのみ更新

$ ssh-keygen -q -t rsa -f netsim/c/c0/ssh/ssh_host_rsa_key -m PEM -N ''
netsim/c/c0/ssh/ssh_host_rsa_key already exists.
Overwrite (y/n)? y
$

    

参考情報

今後のリリースでは、ConfD が openssh private key を解釈出来るようになり、上記作業は不要となる予定です。

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします