1. 程式人生 > >git ssh祕鑰的新增解決克隆時沒有許可權的問題

git ssh祕鑰的新增解決克隆時沒有許可權的問題

今天在使用git克隆專案時,發覺報如下錯誤,提示我沒有許可權,但是我克隆的是網上的開源專案,怎麼還會需要許可權呢。經過多次檢查,確認電腦可以上網,在網上搜了很多資料之後,才發現是祕鑰配置有問題。記錄一下一遍查閱。
Warning: Permanently added the RSA host key for IP address ‘13.250.177.223’ to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.

ssh-agent命令

ssh-agent命令是一種控制用來儲存公鑰身份驗證所使用的私鑰的程式。ssh-agent在X會話或登入會話之初啟動,所有其他視窗或程式則以客戶端程式的身份啟動並加入到ssh-agent程式中。通過使用環境變數,可定位代理並在登入到其他使用ssh機器上時使用代理自動進行身份驗證。

其實ssh-agent就是一個金鑰管理器,執行ssh-agent以後,使用ssh-add將私鑰交給ssh-agent保管,其他程式需要身份驗證的時候可以將驗證申請交給ssh-agent來完成整個認證過程。

語法
ssh-agent [-c | -s] [-d] [-a bind_address] [-t life] [command [arg …]]
ssh-agent [-c | -s] -k
選項
-a bind_address:bind the agent to the UNIX-domain socket bind_address.
-c:生成C-shell風格的命令輸出。
-d:除錯模式。
-k:把ssh-agent程序殺掉。
-s:生成Bourne shell 風格的命令輸出。
-t life:設定預設值新增到代理人的身份最大壽命。
例項
執行ssh-agent:

ssh-agent
執行ssh-agent,它會打印出來它使用的環境和變數。

新增一個新的SSH祕鑰到GitHub賬號

設定使用者名稱和郵箱
在git命令列中對git進行全域性設定, git config –global user.name “使用者名稱”, git config –global user.email “郵箱地址”;
3
生成SSH key
在git命令列中,輸入命令: cd ~/.ssh,來檢測是否生成過key,沒有生成過key,會有相關資訊提示;然後輸入命令: ssh-keygen -t rsa -C “郵箱地址”,按下回車鍵;然後根據返回的資訊,找到.ssh目錄下的兩個檔案;
在github上新增SSH key
在github上點選“setting”,找到新增SSH key的選單,然後新增SSH key;把檔案id_rsa.pub 裡面的內容全部複製到 key編輯框中,儲存完畢;
檢查SSH key是否有效
在git命令列輸入:ssh -T

[email protected];這裡會要求你輸入SSH key密碼,如果剛才生成SSH key時未輸入密碼,密碼就為空;然後看到資訊:
ERROR: Hi 使用者名稱! You’ve successfully authenticated;說明配置成功;
再次檢視github金鑰
登陸到github上檢視剛剛輸入的SSH key,現在圖示的顏色變為綠色,說明金鑰配置有效;現在可以在git命令列上進行git操作了;

對於多個git託管網站使用同一個郵箱註冊的祕鑰新增問題

之前由於祕鑰新增一直都是以失敗告終,總是提示我沒有許可權,以為是使用一個郵箱註冊了GitHub、gitlab和碼雲的原因,今天才發現,其實不管是哪個程式碼託管網站,只有註冊的郵箱相同,那麼每個程式碼託管網站都可以使用這一個郵箱生成的SSH祕鑰。

相關推薦

git ssh新增解決克隆沒有許可權的問題

今天在使用git克隆專案時,發覺報如下錯誤,提示我沒有許可權,但是我克隆的是網上的開源專案,怎麼還會需要許可權呢。經過多次檢查,確認電腦可以上網,在網上搜了很多資料之後,才發現是祕鑰配置有問題。記錄一下一遍查閱。 Warning: Permanently ad

解決在已配置SSH的情況下push程式碼到遠端倉庫仍需要輸入使用者名稱和密碼的問題

本文由荒原之夢原創,原文連結:http://zhaokaifeng.com/?p=1080 出現該問題的原因就是本地倉庫與遠端倉庫進行連線使用的是HTTPS而不是SSH,因此,即使部署了SSH公鑰仍然需要在push程式碼的時候輸入使用者名稱和密碼. 解決辦法: 輸入命令:

Git建立提示:too many arguments解決

①問題:剛剛進入Spring大門!一邊著手準備入坑《Spring原始碼深度解析》,一邊準備見識GitHub新世界,結果在準備使用Git時被攔在了建立祕鑰報錯:Too many arguments這裡! [email protected] MINGW64 ~ $ s

新增碼雲上的SSH以及解決使用命令git pull/push 輸入密碼問題

首先呢是要配置自己碼雲上面的SSH公鑰,使用SSH公鑰可以讓你在你的電腦和碼雲通訊的時候使用安全連線(Git的Remote要使用SSH地址),同時也可解決在使用git pull/push命令時需要每次輸入密碼的問題,下面先說一下如何配置SSH公吧,配置公鑰前需要先生成公鑰,

Git安裝及生成SSH

一、Git下載及安裝 windows環境:下載安裝 GIT 執行檔案(地址——https://git-scm.com/downloads)。 Linux: # yum install git # 或者 # apt install git Mac: # b

windows環境下,git配置不生效解決

使用git過程中會出現反覆讓你輸入使用者名稱和密碼的情況,比較煩嗎,因此我們可以配置SSH KEY,讓我們在拉取和提交程式碼是不用輸入密碼。但是配置過程中可以出現配置好的祕鑰不生效的情況。 1.在搭建的git網站刪除原有key,如圖 2.配置使用者名稱和郵箱,在git

git 生成 ssh

1.配置 git config --global user.name ‘xxxxx’ git config --global user.email ‘[email protected]’2.生成祕鑰 ssh-keygen -t rsa -C ‘上面的郵箱’   

win系統 gitssh 切換到 mac 系統登陸

1、先檢視 mac 系統中是否存在 ssh 祕鑰,預設路徑 命令:cd ~/.ssh      2、若存在資料夾,檢視資料夾下檔案 命令:ls 3、是否存在 id_rsa、id_rsa.pub 檔案,或相對應的一組祕鑰 4、若不存在,將 win 系統中存在的一組祕鑰複製到

SSH分發、檔案分發、批量執行命令

SSH祕鑰分發、檔案分發、批量執行命令 要求使用同一使用者lss,實現A機器從本地分發資料到B、C的過程不需要輸入密碼,且可以批量在B、C主機上執行命令 IP 角色 使用者 192.1

SSH遠端登入

SSH祕鑰遠端登入 基於ssh遠端登陸 客戶端首次遠端登入機器的時候會把遠端機器的公鑰儲存在~/.ssh/know_hosts,以後每次登陸到某伺服器的時候都會對比遠端機器的公鑰和存在本機的該伺服器的公鑰,如果不同就會終止登陸,防止黑客偽裝伺服器 如果發

Git ssh配置

首先下載安裝git:https://git-scm.com/downloads/ 一路預設,安裝完成後,開啟資料夾C:\Users\Administrator\.ssh(Administrator是當前使用者名稱),在空白處點滑鼠右鍵選擇“Git Bush Here” ,開啟gitbush。 配置使用者名

mac下配置git

git下載直接去官網下載 這是地址 https://git-scm.com/downloads 下載完成之後 圖形介面操作安裝即可。 先在git 上新建專案  在 克隆點選ssh     開啟 終端  建立一個自己的資料夾&n

RedisPlus 3.2.0 升級底層驅動,支援 SSH 連線

   Redis視覺化管理客戶端,歡迎大家交流,感謝支援,幫忙點個star RedisPlus是為Redis視覺化管理開發的一款開源免費的桌面客戶端軟體,支援Windows 、Linux、Mac三大系統平臺,RedisPlus提供更加高效、方便、快捷的使用體驗,有著更加現代化的

使用 SSH 遠端連線

團隊開發中常用到 Git、SVN 等版本控制工具,可以大大提高開發效率。 就是將程式碼統一放到一個程式碼倉庫中,方便管理。 為了安全起見,每次push、pull 程式碼的時候,都需要輸入使用者名稱、密碼, 對於需要頻繁提交程式碼或者在程式碼中遠端連線的場合很不方便。 這個時候可以通過 ssh 建立兩臺

通過SSH登入線上MySQL資料庫(基於Navicat)

前言 生產環境的資料庫往往需要經過嚴格的安全限制,所以禁用密碼登入,使用祕鑰的方式是一種相對安全的登入方式。 原理: 角色: 主機A:其他主機,有訪問線上資料庫的許可權 主機B:線上資料庫的主機 主機C:本機電腦,無訪問線上資料庫的許可權 在本機C上(無訪問B的許可權),通過ssh配置的主機A(有訪

Git配置報錯Could not resolve host: github.com

先給出正確命令: ssh-keygen -t rsa -C "zhangsan"  --這裡填github登入名而不是郵箱   網上找的命令執行報錯: 錯誤資訊:Could not resolve host: github.com...   開始排查問題: 1.發現

Git - 提交沒有許可權解決方法

Git - 提交時提示“Please make sure you have the correct access rights and the repository exists.”的解決方法 1.首先開啟Git Bash設定名字和郵箱: git config --global

Git遠端倉庫的新增克隆

前言上一節已經關聯了一個Github遠端倉庫,下面將介紹遠端倉庫的新增及克隆新增遠端倉庫要關聯一個遠端庫,使用命令git remote add origin [email protected]

ssh交換詳解與實現 diffie-hellman-group-exchange-sha

    ssh的DH祕鑰交換是一套複合幾種演算法的祕鑰交換演算法。在RFC4419中稱為diffie-hellman-groupX-exchange-shaX 的演算法(也有另一種單純的 rsaX-shaX 交換演算法)。本文就以diffie-hellman-group-

使用SSH連線倉庫

在git上存取程式碼時,是需要驗證的,有兩種方式,分別為URL和SSH祕鑰。 使用URL,每次連線是都需要輸入密碼,比較繁瑣 而使用SSH祕鑰,只需要將祕鑰儲存到GitHub,以後便可暢通連線,比較方便。 使用祕鑰兩個步驟:首先要有本地祕鑰,接著,將祕鑰存到GitHub上即