国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

git通過SSH指定秘鑰文件克隆代碼的三種方法

這篇具有很好參考價值的文章主要介紹了git通過SSH指定秘鑰文件克隆代碼的三種方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

github官方操作文檔:Generating a new SSH key and adding it to the ssh-agent - GitHub Docs

操作流程如下

1.生成一個新的ssh文件(your_email@example.com 替換為自己的郵箱)

ssh-keygen -t ed25519 -C "your_email@example.com"

# 如果系統(tǒng)不支持 Ed25519  算法,可以使用下面方法創(chuàng)建
# ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件

# 如果需要給秘鑰設(shè)置密碼,也可以在這兩步的時候,設(shè)置密碼
> Enter passphrase (empty for no passphrase): [Type a passphrase]
> Enter same passphrase again: [Type passphrase again]

2.添加公鑰到github

復(fù)制公鑰內(nèi)容到剪貼板

git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件

打開瀏覽器,登錄github.com ,右上角,點擊settings

git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件

?找到 SSH and GPG keys ,點擊進入

git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件

?點擊添加

git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件

?git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件

?測試權(quán)限是否正常,能否通過ssh訪問git

ssh -T git@github.com

?a.訪問成功如下:git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件

b.訪問失敗如下:

git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件

?訪問失敗,需要檢查公鑰文件是否添加到github

其他機器通過指定秘鑰文件訪問【方式一】?

?1.創(chuàng)建目錄,并拷貝秘鑰文件該目錄下,并修改為0600權(quán)限

mkdir -pv ~/.ssh_git

# 將私鑰文件拷貝到該目錄,并修改權(quán)限
chmod 0600 -R ~/.ssh_git

2.啟動ssh-agent代理,并添加私鑰,然后進行測試

eval "$(ssh-agent -s)"
ssh-add ~/.ssh_git/id_ed25519
ssh -T git@github.com

git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件

當(dāng)ssh-agent進程結(jié)束時,將失去訪問權(quán)限,若想繼續(xù)訪問,還需要重新執(zhí)行操作

?git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件

?重新添加私有執(zhí)行

git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件

?其他機器通過指定秘鑰文件訪問【方式二】?

通過 .gitconfig 配置文件進行配置,該配置針對git命令

core.sshCommand

If this variable is set,?git fetch?and?git push?will use the specified command instead of?ssh?when they need to connect to a remote system. The command is in the same form as the?GIT_SSH_COMMAND?environment variable and is overridden when the environment variable is set.

git config --global core.sshCommand 'ssh -i ~/.ssh_git/id_ed25519 -p 22'

該操作會在用戶家目錄自動生成.gitconfig配置文件,內(nèi)容如下

git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件

測試,需要指定克隆私有倉庫進行測試,下圖表示測試成功

git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件

?其他機器通過指定秘鑰文件訪問【方式三】?

通過?GIT_SSH_COMMAND 環(huán)境變量實現(xiàn)訪問

?$GIT_SSH_COMMAND?takes precedence over?$GIT_SSH, and is interpreted by the shell, which allows additional arguments to be included.?$GIT_SSH?on the other hand must be just the path to a program (which can be a wrapper shell script, if additional arguments are needed).

export GIT_SSH_COMMAND="ssh -i ~/.ssh_git/id_ed25519 -p 22"

git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件

注意:GIT_SSH_COMMAND? 的優(yōu)先權(quán)大于?GIT_SSH

通過?GIT_SSH 環(huán)境變量實現(xiàn)訪問

官方文檔:Git - git Documentation

? ? ? GIT_SSH, if specified, is a program that is invoked instead of ssh when Git tries to connect to an SSH host. It is invoked like $GIT_SSH [username@]host [-p <port>] <command>. Note that this isn’t the easiest way to customize how ssh is invoked; it won’t support extra command-line parameters, so you’d have to write a wrapper script and set GIT_SSH to point to it. It’s probably easier just to use the ~/.ssh/config file for that.

?大概意思指定了 GIT_SSH ,則當(dāng)git通過ssh連接主機是,調(diào)用GIT_SSH設(shè)置的腳本來替換默認的ssh命令

1.創(chuàng)建一個文件,內(nèi)容如下?~/.ssh_git/ssh-git.sh

vim ~/.ssh_git/ssh-git.sh
#!/bin/bash
if [ -z "$PKEY" ]; then
        # if PKEY is not specified, run ssh using default keyfile
        ssh "$@"
else
        ssh -i "$PKEY" -p 22 "$@"
fi

2.添加可執(zhí)行權(quán)限

chmod a+x ~/.ssh_git/ssh-git.sh

3.通過添加私有方式進行訪問

export GIT_SSH=~/.ssh_git/ssh-git.sh
PKEY=~/.ssh_git/id_ed25519 git clone git@github.com:nineaiyu/scorems.git

git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件

?4.整理上面操作步驟,可總結(jié)一個腳本git.sh,內(nèi)容如下:

#!/bin/bash
# 

if [ $# -eq 0 ]; then
    echo "git.sh -i ssh-key-file git-command"
    exit 1
fi

git_ssh_tmp=~/.git_ssh.tmp

trap "rm -f ${git_ssh_tmp}" 0

if [ "$1" = "-i" ]; then
    SSH_KEY=$2
    shift
    shift
    echo "ssh -i $SSH_KEY -p 22 \$@" > ${git_ssh_tmp}
    chmod +x ${git_ssh_tmp}
    export GIT_SSH=${git_ssh_tmp}
fi

[ "$1" = "git" ] && shift

git "$@"

執(zhí)行操作如下:

chmod a+x git.sh
./git.sh -i ~/.ssh_git/id_ed25519  clone git@github.com:nineaiyu/scorems.git

?git ssh clone,技能,linux,Linux tools,ssh,linux,git,gitconfig,秘鑰文件文章來源地址http://www.zghlxwxcb.cn/news/detail-819652.html

到了這里,關(guān)于git通過SSH指定秘鑰文件克隆代碼的三種方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Linux下配置Git的SSH秘鑰

    Linux下配置Git的SSH秘鑰

    第一步:安裝git環(huán)境 $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev 第二步:配置Git參數(shù) 第三步:生成秘鑰 然后連按三次空格??! 第四步:查看秘鑰并復(fù)制到git的web上 將以下內(nèi)容全部復(fù)制到git的web上 大功告成??!

    2024年02月11日
    瀏覽(21)
  • Linux系統(tǒng)配置GIT的SSH秘鑰

    Linux安裝git // git安裝命令 $ apt-get install git // 安裝完成,查看git的版本 $ git --version 配置Git參數(shù) $ git config --global user.name xxx //xxx為自己用戶名 $ git config --global user.email xxx@xx.com //xxx為自己郵箱 // 查看git參數(shù)信息 $ git config --list 生成秘鑰 $ ssh-keygen -t rsa -C xxx@xx.com // xxx為配置的郵

    2024年02月07日
    瀏覽(28)
  • 嶄新電腦搭建Git的SSH - 設(shè)置 Git 的SSH秘鑰 - 遇到的問題及解決辦法

    嶄新電腦搭建Git的SSH - 設(shè)置 Git 的SSH秘鑰 - 遇到的問題及解決辦法

    配置使用ssh方式來提交和克隆代碼。 大概可以分為一下幾個步驟: 1)設(shè)置Git的user name和email:(如果是第一次的話) 2)檢查是否已經(jīng)有SSH Key。 3)生成密鑰 4)添加密鑰到ssh-agent (如果是第一次的話) 如果不清楚自己有設(shè)置用戶名和賬戶的話,可以使用指令進行查詢,如下:

    2023年04月17日
    瀏覽(24)
  • Git/Gitlab添加SSH秘鑰與小烏龜配置

    Git/Gitlab添加SSH秘鑰與小烏龜配置

    目錄 一、Git/Gitlab添加SSH秘鑰 二、秘鑰添加情況驗證 三、小烏龜關(guān)聯(lián)SSH (1)查找是生成sSh秘鑰,顯示文件夾不存在,可以生成秘鑰。 指令:cd ~/.ssh (2)生成秘鑰,需要填寫git注冊郵箱。 指令:ssh-keygen -t rsa -C \\\"xxx@163.com\\\" (3)輸入秘鑰文件存儲路徑,參考括號里的路徑填寫

    2023年04月26日
    瀏覽(68)
  • 使用Git克隆(clone)Gitee的代碼到本地文件夾

    使用Git克隆(clone)Gitee的代碼到本地文件夾

    注意:不論是在項目的哪個文件夾下來拿HTTPs下載鏈接,都會直接clone整個項目到本地 然后摁下\\\"Enter\\\",代碼就會被Git到本地倉庫

    2024年02月22日
    瀏覽(101)
  • git秘鑰過期 ERROR: Your SSH key has expired

    git秘鑰過期 ERROR: Your SSH key has expired

    使用git命令時遇到Github 的 SSH Key秘鑰過期,提示錯誤 ERROR: Your SSH key has expired 首先登錄Github查看,頭像-設(shè)置-SSH秘鑰,發(fā)現(xiàn)確實過期了,接下來就是重新生成秘鑰 直接在項目目錄下執(zhí)行命令 ssh-keygen -t rsa -C \\\"你的郵箱\\\" 生成即可 然后進入剛剛生成的目錄,把秘鑰粘貼出來,放

    2024年02月20日
    瀏覽(99)
  • WSL無法通過SSH從git拉取倉庫代碼

    WSL無法通過SSH從git拉取倉庫代碼

    在上一篇博客中,解決了無法從git拉取倉庫到本地的問題,但是當(dāng)時的辦法并未完全解決這個問題,當(dāng)時只能通過HTTPS協(xié)議拉取git倉庫,下面介紹如何通過SSH從git拉取倉庫,過程參考了這篇博客。 執(zhí)行上面的命令后,會在命令窗輸出公鑰的信息,我的公鑰是 SHA256:/V+VhNBWst//P

    2024年01月24日
    瀏覽(27)
  • git克隆和創(chuàng)建分支(根據(jù)指定分支克隆或創(chuàng)建)

    git克隆和創(chuàng)建分支(根據(jù)指定分支克隆或創(chuàng)建)

    1.創(chuàng)建分支的方法可以根據(jù)需求靈活調(diào)整,如先clone(master),再根據(jù)遠程分支創(chuàng)建本地分支 2.在pull(拉取)或push(推送)時,指定特定的遠程分支 熱情。 真正的教育不能沒有熱情關(guān)懷和洞察力。 ——蘇霍姆林斯基

    2024年02月16日
    瀏覽(20)
  • mac下用git客戶端生成ssh秘鑰并配置到souretree進行使用

    mac下用git客戶端生成ssh秘鑰并配置到souretree進行使用

    一、使用git 生成 ssh 密鑰 1、Mac 安裝 git 客戶端 打開終端,執(zhí)行命令: 2、執(zhí)行命令 3、檢查是不是已經(jīng)存在密鑰 4、能進去說明已經(jīng)存在,就刪掉文件夾,重新創(chuàng)建 5、生成 SSH 密鑰,執(zhí)行以下命令,并連續(xù) 3次 Enter 鍵即可。 會在.ssh目錄下生成 id_rsa 、 id_rsa.pub 兩個文件私鑰

    2024年02月16日
    瀏覽(32)
  • [教程]使用 Git 克隆指定分支

    Git 是我們開發(fā)過程中經(jīng)常使用到的版本管理工具,在平常情況下我們從遠程克隆的時候會將整個庫克隆下來,這會包括整個版本庫的歷史提交記錄和遠程庫里的所有分支。但在一些情況下,比如我們并不需要查看歷史提交記錄而只是希望能夠獲取到最新的代碼;或者我們只希

    2024年02月03日
    瀏覽(129)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包