linux git ssh目录权限,Git SSH Key的配置问题
生成SSH key
1. 首先在本地生成SSH key,-C參數是郵箱地址,不過其實可以隨便填ssh-keygen -C 'xxx@xxx.com'
2. 然后出來個問題:Enter file in which to save the key (/Users/chuckie/.ssh/id_rsa):
直接回車
3. 如果之前生成過SSH key,再來個問題:~/.ssh/id_rsa?already exists.
Overwrite (y/n)?
輸入y覆蓋
4. 一路回車就可以創建成功了
5. 登錄gitlab,github等git倉庫,在個人中心找到settings -> SSH keys,不同服務器大同小異
6. 選擇新建SSH key將之前生成的ssh key拷進去,title自己隨便改。SSH key文件的位置創建的時候有出現過,默認在用戶的主目錄下有個.ssh/id_rsa.pub,windows:C:\Users\Administrator\.ssh,linux:~/.ssh/id_rsa.pub
解決SSH key不生效的問題
好了,重點來了。運氣好的話,跑完上面的步驟,再用git拉取或者推送遠程代碼就不用手動輸入用戶名密碼了。不過有的時候會出現不生效的情況,還是提示要輸入用戶名密碼,這是因為本地ssh agent里的key沒有刷新,這里講一下怎么解決。
1. 添加SSH keyssh-add (如果key存放路徑不是默認的話,這里可以指定路徑)
2. 這里可能會遇到錯誤Could not open a connection to your authentication agent
運行命令ssh-agent bash //或者 eval "$(ssh-agent -s)"
后重新ssh-add
SSH key不生效的其他原因
一、linux上.ssh文件夾及其中的文件有權限要求,檢查一下權限是否符合要求
1. .ssh目錄的權限必須是700
2. .ssh/authorized_keys文件權限必須是600
二、有一次我在拉取遠程代碼的時候手賤按了個ctrl+c強制退出,結果再嘗試就開始要手動輸入用戶名密碼了,不過這個簡單,輸了一次之后就不用再輸了
Git報500 error
拉取或者推送代碼時失敗,出現如下error信息error: RPC failed; HTTP 500 curl 22 The requested URL returned error: 500 Internal Server Error
這個可能是數據量太大,用Http方式對數據量有限制,可以通過修改遠程url改成用ssh方式連接git remote set-url origin git@github.com:(group)/(repository).git
具體url可以在repository首頁找到,有時需要加`ssh://`協議前綴
使用http方式輸入用戶名密碼錯誤
解決方法:關掉輸入框,會提示命令行輸入,使用命令行輸入用戶名密碼成功登錄。
同樣的用戶名密碼使用輸入框輸入會登錄失敗,原因不明。
總結
以上是生活随笔為你收集整理的linux git ssh目录权限,Git SSH Key的配置问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 英语foteball足球
- 下一篇: 寻宝游戏 HDU - 6289 (DP)