known_hostsの削除・上書き
Pocket

ssh接続をする場合、WindowsからだとTeratermやPoderosaといったシェルクライアントから接続するが、LinuxやMac OSからの場合はターミナルからsshコマンドで接続を行うと思う。

この時、相手先IPアドレスの公開鍵が違うと、以下のようなエラーが表示されて接続自体出来なくなってしまう。

例:IPアドレス「192.168.0.108」にアクセスしようとした場合

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    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 a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
99:3b:35:b9:4b:01:54:82:cb:15:89:27:f8:71:02:70.
Please contact your system administrator.
Add correct host key in /Users/user/.ssh/known_hosts to get rid of this message.
Offending RSA key in /Users/user/.ssh/known_hosts:2
RSA host key for 192.168.0.108 has changed and you have requested strict checking.
Host key verification failed.

Sponsored Links

OSをインストールし直したり使っていたIPアドレスに別のマシンを割り当てたりすると起こる内容で、要はサーバの公開鍵とクライアント側で把握している公開鍵が違うため、接続できないよと。

以下のコマンドを実行する事で既存の公開鍵が削除され、再度接続できるようになる。

ssh-keygen -R サーバーのホスト名 or IPアドレス

ただ、自由に使用出来るIPアドレスが少ないときには同じIPアドレスを使い回す事が多く、毎回このような表示が出るのは面倒臭い。

何かいい方法は無いかと考えたところ、ssh接続時に以下のようにする事で上書きしてくれるらしい。なお、このコマンドはsudoをつけて行う必要があるかも…

ssh-keygen -R サーバーのホスト名 or IPアドレス -o “StrictHostKeyChecking no”

この他、設定ファイルを書き換える事でオプションをつけずに上書きしてくれる方法もあるようだが、セキュリティを考えるとあまりおすすめできない(成り済ましに無防備になってしまう…)

設定方法はこのページにあるので、参考までに。

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

This article has 3 comments

  1. emergency movers Reply

    Ireally love your site.. Excellent colors & theme.
    Did you develop this amazing site yourself?

    Please reply back ass I’m lpoking to create my own personal blog and would love to know
    where you got this from or just what the theme is named.
    Kudos!

  2. Pingback: sshを使ったトンネルと履歴削除とか – yeees.in

Leave a Comment

メールアドレスが公開されることはありません。