这是我第一次访问github并且我没有使用控制台.我在Macbook上(使用Bash).当我尝试访问github时,我得到了这个:
git clone git@github.com:dhulihan/league-of-legends-data-scraper.git
Cloning into 'league-of-legends-data-scraper'...
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Run Code Online (Sandbox Code Playgroud)
我已经尝试按照Github页面上关于权限被拒绝的说明 当我使用ssh -vT git@github.com时,我得到以下内容:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to github.com [192.30.252.129] port 22.
debug1: Connection established.
debug1: identity file /Users/XXXX/.ssh/id_rsa type -1
debug1: identity file /Users/XXXX/.ssh/id_rsa-cert type -1
debug1: identity file /Users/XXXX/.ssh/id_dsa …Run Code Online (Sandbox Code Playgroud) 我是Github的新手,并且生成SSH密钥看起来是必要的.我的老板告诉我这件事,所以我需要遵守.
我成功创建了SSH Key,但是当我要将它添加到ssh-agent时
这就是发生的事情
什么似乎是问题?

当我想用这个命令推送到github时
git push origin master
Run Code Online (Sandbox Code Playgroud)
我懂了
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
Run Code Online (Sandbox Code Playgroud)
那么,怎么了?
我需要添加一个公钥,ssh-agent但我收到以下错误
无法打开与身份验证代理的连接.
我正在使用Windows 7.我发现代理正在运行.但是ssh-add没用,因为它会给出上面的错误.
我正在运行新安装的Arch Linux.当我登录用户(运行bash)并尝试使用.bashrc中的别名时,它会给我"命令未找到"错误.但是,如果我通过'bash'命令重新进入bash,该命令工作得很好.
是的,我已经在狂欢了.
最初的env:
SHELL=/usr/bin/bash
Run Code Online (Sandbox Code Playgroud)
运行bash后,它仍然是:
SHELL=/usr/bin/bash
Run Code Online (Sandbox Code Playgroud)
所以我不太确定问题出在哪里.
我安装了msysgit,使用OpenSSH.我正在连接一个gitosis回购.从git bash,我创建了一个.profile文件,每次打开git bash时运行ssh-agent(如果尚未运行),使用此脚本
SSH_ENV=$HOME/.ssh/environment
function start_agent {
echo "Initialising new SSH agent..."
/usr/bin/ssh-agent | sed 's/^echo/#echo/' > ${SSH_ENV}
echo succeeded
chmod 600 ${SSH_ENV}
. ${SSH_ENV} > /dev/null
/usr/bin/ssh-add;
}
# Source SSH settings, if applicable
if [ -f "${SSH_ENV}" ]; then
. ${SSH_ENV} > /dev/null
#ps ${SSH_AGENT_PID} doesn't work under cywgin
ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
start_agent;
}
else
start_agent;
fi
Run Code Online (Sandbox Code Playgroud)
我也在使用git扩展,它从Windows命令提示符运行git命令,而不是git bash.所以,ssh没有看到正在运行的ssh-agent.有可能解决这个问题吗?
我有一个gpg .key文件,用作解密.dat.pgp文件的密码.使用以下命令在一台服务器上使用相同的.key文件成功解密加密的.data.pgp文件
cat xxx_gpg.key | /usr/bin/gpg --batch --quiet -o xxx.dat --passphrase-fd O -d xxx.dat.pgp
Run Code Online (Sandbox Code Playgroud)
但是,当我将相同的密钥移动到另一个服务器xxx_gpg.key并运行相同的上述命令时,我得到以下错误 -
gpg: decryption failed: No secret key
Run Code Online (Sandbox Code Playgroud)
编辑:
我发现它gpg --list-secret-keys返回服务器上的一些数据,但是没有为其他服务器返回结果.
我们如何配置密钥
我已经开始使用ssh-agent了:
$ ssh-agent.exe
SSH_AUTH_SOCK=/tmp/ssh-LagrQoD3JRqg/agent.3600; export SSH_AUTH_SOCK;
SSH_AGENT_PID=7784; export SSH_AGENT_PID;
echo Agent pid 7784;
Run Code Online (Sandbox Code Playgroud)
接下来我尝试添加一个键:
$ ssh-add /cygdrive/h/mykey.pem
Run Code Online (Sandbox Code Playgroud)
我得到的回应是:
Could not open a connection to your authentication agent.
Run Code Online (Sandbox Code Playgroud) 我有一个包含3个子模块的仓库.repo和子模块都在同一台服务器上,我有ssh访问权限.远程URL是:
ssh://mm@theserver.com/path/to/sub1.git
ssh://mm@theserver.com/path/to/sub2.git
ssh://mm@theserver.com/path/to/sub3.git
Run Code Online (Sandbox Code Playgroud)
如果我进行操作,git submodule update --remote那么它会提示我输入密码3次.
有没有办法更新子模块,但只需要一次密码?提交更改等同样如此.
我需要在Gitlab-CI构建期间使用高山图像中的ssh-agent进行身份验证.
我正在寻找相当于这个bash命令的sh one liner (从gitlab文档中选取):
ssh-add <(echo "$SSH_PRIVATE_KEY")
Run Code Online (Sandbox Code Playgroud)
我试过了 :
echo $SSH_PRIVATE_KEY | ssh-add -
Enter passphrase for (stdin): ERROR: Job failed: exit code 1
printf '%s\n' "$SSH_PRIVATE_KEY" | ssh-add
ERROR: Job failed: exit code 1
Run Code Online (Sandbox Code Playgroud)