Den*_*nge 5 git ssh powershell github
每当我git在Powershell中输入命令时,都会询问我:
Enter passphrase for key '/c/Users/***/.ssh/id_rsa'
Run Code Online (Sandbox Code Playgroud)
该密钥使用密码创建:
ssh-keygen -t rsa -b 4096 -C "myemail@somewhere.com"
Run Code Online (Sandbox Code Playgroud)
我已经设置ssh-agent为在启动Powershell时加载,并且环境变量SSH_AUTH_SOCK也SSH_AGENT_PID已设置。与github的连接成功:
ssh -T git@github.com 回复: Hi tkvw! You've successfully authenticated, but GitHub does not provide shell access.
这表明使用git网址代替https。
git remote -v
origin git@github.com:tkvw/pshazz.git (fetch)
origin git@github.com:tkvw/pshazz.git (push)
Run Code Online (Sandbox Code Playgroud)
这显示代理处于活动状态并且密钥已加载:
ssh-add -l
4096 b1:73:2a:11:....63:e8:2a:34 /c/Users/***/.ssh/id_rsa (RSA)
Run Code Online (Sandbox Code Playgroud)
但是调用git操作:
git fetch
Enter passphrase for key '/c/Users/***/.ssh/id_rsa':
Run Code Online (Sandbox Code Playgroud)
我没有想法了。我不想使用git bash任何东西,我喜欢在Powershell中使用它。
Phi*_*ber 12
这些都不适合我。此页面上的解决方案虽然:https : //gist.github.com/danieldogeanu/16c61e9b80345c5837b9e5045a701c99
这里是:
您不应使用 Git for Windows 附带的 Open SSH 客户端。相反,Windows 10 有自己的与系统集成的 Open SSH 实现。为达到这个:
ssh-agent从 Windows 服务启动:Services的Start Menu或Win+R,然后键入services.msc启动服务窗口;OpenSSH Authentication Agent在列表中找到并双击它;OpenSSH Authentication Agent Properties窗口出现,选择Automatic从Startup type:下拉菜单,然后单击Start从Service status:。确保它现在说Service status: Running。配置Git的发出在PowerShell中的以下命令来使用Windows 10执行的OpenSSH:git config --global core.sshCommand C:/Windows/System32/OpenSSH/ssh.exe;
通过编辑在 中config找到的文件C:\Users\%YOUR_USERNAME%\.ssh\config,将SSH 配置为在启动时自动将密钥添加到代理,并添加以下行:
Host *
AddKeysToAgent yes
IdentitiesOnly yes
Run Code Online (Sandbox Code Playgroud)
如果您使用自定义名称或多个 SSH 密钥生成了 SSH 密钥,您还可以添加以下行:
Host github.com
HostName github.com
User your_user_name
IdentityFile ~/.ssh/your_file_name
Run Code Online (Sandbox Code Playgroud)
ssh-agent通过发出ssh-add命令并输入您的密码将您的 SSH 密钥添加到:ssh-add $HOME/.ssh/your_file_name
Run Code Online (Sandbox Code Playgroud)
我正在使用 Windows 10 专业版附带的 openssh。git 是用 scoop ( scoop install git)安装的。
我必须设置GIT_SSH环境变量。
$env:GIT_SSH = (gcm ssh | select -expand source)
或独家用户
$env:GIT_SSH = (scoop which ssh)
您可能需要使用posh-git(集成了 Git 和 PowerShell 的 PowerShell 模块)
然后参阅“在 Windows 上使用 git 和 ssh-agent ”,以便在 Powershell 会话中启动 ssh 代理:
Import-Module ~\Documents\WindowsPowerShell\Modules\posh-git\posh-git
Set-Alias ssh-agent "$env:ProgramFiles\git\usr\bin\ssh-agent.exe"
Set-Alias ssh-add "$env:ProgramFiles\git\usr\bin\ssh-add.exe"
Start-SshAgent -Quiet
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3088 次 |
| 最近记录: |