○2017/7/27
※この記事は、前回の記事で発生した問題の原因究明をしようとした結果、
原因は解からず終いで、かつ再現しなくなったというひどい内容です。
ちゃんとした設定方法が知りたいという方にはこの記事を読むのはお勧めしません。
●sshの設定続き
teratermのホストを記憶するファイル(ssh_known_hosts)の場所がわかったので、
それを消してやってみる。
参考サイト:TeraTermのknown_hostsの在所
その前にもう一度、今現在の状態でsshできないことを確認
teratermで接続時の、「SSHバージョン」を「SSH2」にして接続
→接続成功
なんでやねん!?
・ルーターを起動しなおしたから?
・teratermを起動しなおしたから?
ちなみに、今回の接続の前後で、
ssh_known_hosts内の項目が増えていることを確認。
ルーターのIPアドレス(192.168.1.1)の項目が1つ→2つになってた。
(接続時のセキュリティ警告の画面で、「このホストを記憶する」を選択したため。)
試しに、もう一度ルーターのssh設定をversion1にしてやってみる。
>en Password: #conf t (config)#ip ssh version 1 (config)#exit
そして、改めてteratermで接続時の、「SSHバージョン」を「SSH1」にして接続
→OK
わからん
もう一度ルーターのssh設定をversion2にしてやってみる。
#conf t (config)#ip ssh version 2 (config)#exit
「SSHバージョン」を「SSH2」にして接続
→OK
RSA鍵を作りなおして、そのままログインしようとしたのが原因かな?
(config)#crypto key generate rsa % You already have RSA keys defined named myRouter.cisco123. % Do you really want to replace them? [yes/no]: (yesを入力) Choose the size of the key modulus in the range of 360 to 4096 for your General Purpose Keys. Choosing a key modulus greater than 512 may take a few minutes. How many bits in the modulus [512]: (768を入力) % Generating 768 bit RSA keys, keys will be non-exportable... [OK] (elapsed time was 0 seconds)
teratermでssh接続
→OK
違ったみたいです。
version1から2に変更したのが原因?
面倒なので、以下コマンド省略。
RSAキーを512bitで生成(sshのversionも自動的に1になる)して、
「SSHバージョン」を「SSH1」にして接続
→OK
からの
sshのversionを2に設定して、
RSAキーを768bitで生成して、
「SSHバージョン」を「SSH2」にして接続
→OK
違ったみたいです。
あれ、でもこれね。
running-configを見ると、ssh versionの設定が無いんだよね。
試しに、「SSHバージョン」を「SSH1」にして接続
→OK
どっちのバージョンでもできるのな。
わけわからんw
とりあえず、設定保存して再起動。
#copy running-config startup-config #reload
で、ssh接続
→バージョン1でも2でも接続できる。
なんか、キャッシュが残ってるせいとか、
そんな感じかと思ったけど違うみたい。
じゃあ、昨日の手順そのままなぞってみよう。
初期化して、
#delete nvram:startup-config #reload
↑↑の通りに設定
「teratermで接続時の、「SSHバージョン」を「SSH2」にして接続
→NG (接続操作中に途中で切断される)」
のくだりまで同じように操作。
→再現しない
昨日の問題は迷宮入りだな。あきらめよう。
なんか、ssh_know_configがなくなってるし。
################################################
※7/28追記:
C:\Users\[user名]\AppData\Local\VirtualStore\Program Files\teraterm 以下にあった
参考サイト:TeraTermのknown_hostsの在所(同↑↑)
################################################
################################################
※7/29追記:
startup-configの削除だけでは、作成したRSA鍵は削除されていない。
削除するには、
(config)#crypto key zeroize rsa
を実行する。
参考サイト:http://beginners-network.com/cisco-catalyst-command/crypto-key-generate-rsa.html
################################################
まとめ:↑↑↑の設定で、ssh接続できる。
必要なコマンドをもう一度整理(sshのversionは2で設定する)
>en
#conf t
(config)#en p password
(config)#username admin password password
(config)#ip domain-name cisco123
(config)#line vty 0 4
(config-line)#login local
(config-line)#transport input ssh
(config-line)#exit
(config)#hostname myRouter
(config)#crypto key generate rsa (キーの長さは768以上を入力)
(config)#ip ssh version 2
(config)#ip ssh time-out 60
(config)#ip ssh authentication-retries 2
(config)#int vlan 1
(config-if)#ip address 192.168.1.1 255.255.255.0
(config-if)#exit
(config)#exit
この設定で、PCにバックアップ保存(config-ssh)
ところで、ドメインを設定したのに、
IPアドレス入力で接続してたな。
ドメイン名で接続できるか、やってみよう。
teraterm接続画面の「ホスト名」を「cisco123」にして接続。
→「無効なホスト」
できるわけないよな。
名前解決のしようがない。
なんか、PCにドメインとIPアドレスの対応を書いとくファイルがあった気がする。
参考サイト:http://masa-cbl.hatenadiary.jp/entry/20130509/1368110735
C:\Windows\System32\drivers\etc\
>に、”hosts”というファイルがあるので、そこに追記しておく。
192.168.1.1 cisco123
再チャレ
teraterm接続画面の「ホスト名」を「cisco123」にして接続。
→OK
あれ、でもそれって・・・
この方法で解決しても、ルーターにドメイン名登録した意味なくない?
(config)#no ip domain-name (config)#exit
からの
teraterm接続画面の「ホスト名」を「cisco123」にして接続。
→OK
やっぱり。
ルーター宛てに名前解決クエリすればいいのかな?
いったん、”hosts”に追記した部分を削除。
ルーターにつないでるNICのDNSサーバーを192.168.1.1に設定。
(今まで設定してなかった)
(config)#ip domain-name cisco123 (config)#exit
からの
teraterm接続画面の「ホスト名」を「cisco123」にして接続。
→「無効なホスト」
やっぱり、そうだね。
DNSサーバー機能立ち上げないとダメだよね。
ドメイン名でssh接続は、いったん保留。
→いずれやってみる