2017/10/25

gerrit ssh

先用 openID 認證方式進入mygerrit 網頁。
利用網頁功能在mygerrit註冊一個新帳號 ggininder

ggininder 的 user 功能表裡,有一個 ssh public key。
凡是想要線到 mygerrit 的機器,都要把 他的 public key 加進來。

所以到另一台 pc 上,把 id_rsa.pub 的內容 copy 到 mygerrit, ggininder 功能網頁的 ssh public key 框框裡。
按下 add 之後,就可以了。

pc 測試 ssh 連線道 mygerrit:
ssh -p 29418 ggininder@mygerrit

Unable to negotiate with mygerrit port 29418: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
fail.
google 說新版debian 就會有這個問題,參考 openssh 的 legacy issue
改:
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 -p 29418 ggininder@mygerrit

Connection to 192.168.145.137 closed by remote host.
Connection to 192.168.145.137 closed.
這樣就 OK 了。,

因為太麻煩,所以可以寫在 .ssh/config 裡...
Host mygerrit
Port 29418
    user ggininder
    KexAlgorithms +diffie-hellman-group1-sha1

順便把 login port 和 user name 都寫了,
這樣,只要:
ssh mygerrit
就可以。

commit 的時候 git config 的 email address 必須要跟 mygerrit 的 user:ggininder 設定的 contact info 的 email address 一樣。
並且,在mygerrit 中填完 email 帳號後,要在 mail 中 confirm 後才會有效。


.ssh/config
如果同一個 host 有 gerrit 和 ssh,上面的寫法,會讓一般的 ssh 反而沒辦法連線。
所以要加一個...
Host mygerritssh
    Hostname mygerrit
    Port 22
這樣,就用 ssh mygerritssh 代表一般 ssh 連線。
ref:simplify your life with an ssh config file

沒有留言:

張貼留言