我遇到了这个错误:
$ git push heroku master
Warning: Permanently added the RSA host key for IP address '50.19.85.132' to the list of known hosts.
! Your key with fingerprint b7:fd:15:25:02:8e:5f:06:4f:1c:af:f3:f0:c3:c2:65 is not authorized to access bitstarter.
Run Code Online (Sandbox Code Playgroud)
我试图添加密钥,我在下面收到此错误:
$ ssh-add ~/.ssh/id_rsa.pub
Could not open a connection to your authentication agent.
Run Code Online (Sandbox Code Playgroud) 我想使用多个私钥连接到不同的服务器或同一服务器的不同部分(我的用途是服务器的系统管理,Git的管理,以及同一服务器内的正常Git使用).我试过简单地将id_rsa文件中的密钥堆叠起来无济于事.
显然,一种直接的方法是使用该命令
ssh -i <key location> login@server.example.com
Run Code Online (Sandbox Code Playgroud)
这非常麻烦.
关于如何更轻松地做这件事的任何建议?
我已经使用Git一段时间了,但是不断要求输入密码开始让我感到困惑.
我正在使用OSX和Github,我按照GitHub的Set Up Git页面的指示设置了Git和我的SSH密钥 .我还在我的Mac OSX钥匙串中添加了github SSH密钥,如GitHub的SSH密钥密码页面所述.我的公钥是在Git注册的.
不过,每次我尝试git pull,我都要输入我的用户名和密码.我需要为此设置除SSH密钥以外的其他东西吗?
有两种方法可以捕获命令行的输出bash:
Legacy Bourne shell反手``:
var=`command`
Run Code Online (Sandbox Code Playgroud)$() 语法(据我所知,特定于Bash,或至少不受原始Bourne等非POSIX旧shell支持)
var=$(command)
Run Code Online (Sandbox Code Playgroud)与反引号相比,使用第二种语法有什么好处吗?或两者完全相同?
在为ssh私钥文件编写ansible playbook时遇到了一个配置问题.
我们知道,我们可以在静态库存服务器的ansible hosts文件中定义与主机服务器,ip和相关ssh私钥的组合.
但我不知道如何使用动态库存服务器来定义它.
例如:
---
- hosts: tag_Name_server1
gather_facts: no
roles:
- role1
- hosts: tag_Name_server2
gather_facts: no
roles:
- roles2
Run Code Online (Sandbox Code Playgroud)
下面的命令用于调用该剧本:
ansible-playbook test.yml -i ec2.py --private-key ~/.ssh/SSHKEY.pem
Run Code Online (Sandbox Code Playgroud)
我的问题是:
谢谢您的意见
我正在尝试添加密钥ssh-agent并希望ssh-add从文件中读取密码.怎么可能?
如何从shell脚本自动执行此过程?
我想知道我是否可以获得一些帮助。我最近重新安装了操作系统,但遇到了一个以前从未遇到过的奇怪问题。我正在按照Github 步骤添加 ssh 代理
基本上,每次登录时我都需要运行
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_personal
Run Code Online (Sandbox Code Playgroud)
当我重新启动计算机时。
当我尝试跑步时,git clone X我得到了
Cloning into 'X'...
git@github.com: 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)
但在我运行上述两个命令后,我可以很好地克隆
注意:Gitlab 也存在问题。抱歉,我应该明确的
本地操作系统:Windows 10 Pro(使用 Git Bash 作为我的终端)
暂存服务器操作系统:Ubuntu 16.04 LTS
我一直在努力让基本的 Capistrano 部署在我的登台服务器上工作。我按照本指南设置了 Capistrano。
git:check由于据称无权访问我在 GitLab上的存储库,部署过程总是在舞台上失败。我确信我的 SSH 代理转发工作正常,因为我能够通过 SSH 连接到我的服务器并使用我的 SSH 密钥访问 GitLab。SSH 密钥未存储在我服务器上的任何位置:
$ ssh deploy@myserver.com
deploy@MyServer:~$ ssh -T git@gitlab.com
debug1: client_input_channel_open: ctype auth-agent@openssh.com rchan 2 win 65536 max 16384
debug1: channel 1: new [authentication agent connection]
debug1: confirm auth-agent@openssh.com
Welcome to GitLab, Alexander!debug1: channel 1: FORCE input drain
Run Code Online (Sandbox Code Playgroud)
到目前为止,关于这个问题的所有问题都没有对我有用。
这是我的部署文件:
部署文件
set :application, "myapp"
set :branch, "master"
set :repo_url, "git@gitlab.com:MyApp/myapp.git"
# Defaults to false
# Skip …Run Code Online (Sandbox Code Playgroud) 我在 Windows 10 x64 上使用设置,我通过 scoop 安装和管理 git,而不是自己下载和执行安装程序。通过PowerShell,我跑了
scoop install git
scoop install openssh
[environment]::setenvironmentvariable('GIT_SSH', (resolve-path (scoop which ssh)), 'USER')
Run Code Online (Sandbox Code Playgroud)
但是,现在当我尝试运行的命令在Git的Bash的喜欢
git clone git@example.org:vendor/repository.git
Run Code Online (Sandbox Code Playgroud)
或者一个简单的
git push/pull
Run Code Online (Sandbox Code Playgroud)
我只得到
CreateProcessW failed error:193
ssh_askpass: posix_spawn: Unknown error
Run Code Online (Sandbox Code Playgroud)
而不是 Git Bash 询问我的 SSH 密钥密码。
我在许多其他 Windows 10 x64 上使用相同的设置(通过 scoop 安装的 git)并且那里没有出现问题。所以我不确定这个问题出了什么问题。我以前在同一台机器上安装了 git 而不使用 scoop,并且 Git Bash 运行良好。在通过scoop重新安装它之前,我完全卸载了 git(并且还重新启动了机器,只是为了确定)。
如果相关,SSH_ASKPASS环境变量包含以下内容:
$ echo ${SSH_ASKPASS}
/mingw64/libexec/git-core/git-gui--askpass
Run Code Online (Sandbox Code Playgroud)
不确定那个文件夹指的是什么(大概是Git Bash内部的东西?),因为它在我的机器上显然不存在。
当使用git-with-openssh而不是单独git和openssh单独使用它时。但是,我没有在我的其他机器上使用它,所以我仍然想知道为什么它在这里不起作用。
git pull在dev/staging/production服务器上执行通常的做法.我经常这样做; 我在运行linux的生产服务器上每天执行git pull几乎100次.
我想,是时候制作一个脚本来改进它.
pull.sh将执行这3个命令
我试过在这里创建我的pull.sh
#!/bin/bash
function pull {
git pull
password
service nginx reload
}
pull ;
Run Code Online (Sandbox Code Playgroud)
结果
运行我的脚本后,我仍然提示输入密码.
任何提示/帮助/建议将不胜感激!