顯示具有 keyword-rsa 標籤的文章。 顯示所有文章
顯示具有 keyword-rsa 標籤的文章。 顯示所有文章

2014/11/05

無法使用key登入ssh的問題



網路上有一堆教學文章

像是
"使用 SSH key 登入"
"兩行指令搞定 Linux SSH登入免密碼"
等等

我試了一下果然照這樣設定就可以免密碼登入

但是偶而還是遇到了一些問題

以下為我整理後與解決問題的方法


產生rsa公私密鑰
-f為指定產生的檔案位置
-P代表產出來的密碼passphrase為空(這邊採用簡單方法以避免登入時還是需要輸入passphrase 見註1)


ssh-keygen -t rsa -f ~/.ssh/sshkey -P ''

將公鑰加入到server的authorized_keys中

scp sshkey.pub user@your.server.com:~/.ssh/
ssh your.server.com
cat ~/.ssh/sshkey.pub >> ~/.ssh/authorized_keys

或者

ssh-copy-id -i ~/.ssh/sshkey.pub your.server.com

寫入config設定

cat ~/.ssh/config
Host your.server.com
HostName your.server.com
User user
Port 22
identityFile ~/.ssh/sshkey

設完之後卻可以免密碼登入ssh了
所以我又設了第二台
結果卻又一值提示我要輸入密碼

研究了很久發現是authorized_keys的權限不對

請修改成600或640

chmod 600 ~/.ssh/authorized_keys

這樣就完成囉




註1:
由於指定passphrase後 在login時還是需要輸入這個passphrase
若是必須指定passphrase的話請用ssh-agent去自動輸入passphrase
可參考 http://josephj.com/article/understand-ssh-key/

2014/10/03

如何產生ssh key供git登入


以下如果要產生給github用的 ssh key

我習慣命名為github

```
ssh-keygen -t rsa -P '' -f ~/.ssh/github -C 'your@email5566.com'
```

這樣會在你的~/.ssh下建立兩個檔案
~/.ssh/github 與 ~/.ssh/github.pub

~/.ssh/github是私鑰要好好保存
~/.ssh/github.pub可以丟到github上

接著建立~/.ssh/config檔案,內容為

```
Host github.com
Hostname github.com
User git
Port 22
identityfile ~/.ssh/github
```

這樣在使用ssh連到github.com時他就會自己做認證了