2016/9/22

ssh config : 不同 server 給不同的 key, ignore key change

ssh 就是自己產生一對 key, 把public 的送給別人,讓別人可以用 你給的key 來認證你。

所以,也可以產生很多對key, 然後一個 server 給一個,每個 server 都給不同的 pub key
當然,這樣就要小心,在連線的時候,要拿對key
ssh -i id_rsa_therightone servername

這樣很麻煩,所以 ssh 就給一個 config, 讓你可以寫 key- sever 的對應。
這樣 ssh 就會自動照這格 config 拿正確的key 來連。

.ssh/config 的內容:
Host my3rd
    HostName the3.my.com
    user  charles
    IdentityFile ~/.ssh/id_rsa_key1

Host my4th
    HostName the4.my.com
    user checko
    IdentityFile ~/.ssh/id_rsa_key4

另外,如果 ssh 連線的 server 不在 .ssh/config 中,
ssh 也沒有加上 -i (指定 key file) 的選項。
ssh 就會用 .ssh/id_rsa 來連。



這個 config 很有趣,好像只會認得 Host,
以上面的例子來說..
ssh my3rd
會正確的使用 id_rsa_key1

但是用server 真正的名子:
ssh the3.my.com
就不會用 id_rsa_key4 了。

我猜這是為了一個 server 用不同user name login..
這樣才可以用 Host 來區分,

如果是 embedded system, 一直更換 key 的情況,ssh 連線出現:
Hostkey verification failed
M
可以在 config 加入:
$ cat .ssh/config
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
這樣都不會檢查了...

沒有留言:

張貼留言