在安装Windows 10后,我很难启动并运行SSH密钥。正常方法是创建它并将其放在.ssh下的用户帐户中。此文件夹似乎在Windows 10中不可用。
其他人遇到这个?我需要有3个SSH密钥用于不同的回购,这真的让我感到高兴。
答案 0 :(得分:65)
cd
到另一个文件夹。ssh-keygen
/c/Users/YourUserName/.ssh/id_rsa.pub
p.s。:如果你安装了带有bash集成的git(比如我),打开" Git Bash"而不是" cmd"第一步
答案 1 :(得分:31)
2019-04-07更新: 我今天测试了新版本的Windows 10(构建1809," 2018年10月更新")并且不仅开放的SSH客户端不再处于测试阶段,因为它已经安装。因此,您需要做的就是创建密钥并将客户端设置为使用开放式SSH而不是putty(pagent):
ssh-keygen
并按Enter 我在Git Extensions和Source Tree上进行了测试,它与我在GitHub中的个人仓库一起工作。 如果您使用的是早期的Windows版本或者更喜欢SSH的图形客户端,请阅读以下内容。
2018-06-04 UDPATE:
在Windows 10上,从版本1709开始(win + R并键入winver
以查找内部版本号),Microsoft正在发布OpenSSH客户端和服务器的测试版。
为了能够创建密钥,您需要安装OpenSSH服务器。为此,请按照以下步骤操作:
现在您可以打开提示并ssh-keygen
,Windows将识别客户端。我没有测试过这个。
如果您没有Windows 10或不想使用测试版,请按照以下有关如何使用putty的说明进行操作。
ssh-keygen
没有安装Windows。以下是如何使用Putty创建ssh密钥:
对于openssh键,还需要几个步骤:
答案 2 :(得分:21)
WINDOWS: 如果您安装了Windows的git,请转到其文件夹。
查看bin目录。有一个sh.exe文件。跑那个。
然后输入:
ssh-keygen -t rsa -C“您的电子邮件在这里”
按照说明操作,然后输入:
cat~ / .ssh / id_rsa.pub |剪辑
将密钥复制到剪贴板。 现在,您可以将该公钥粘贴到服务器端。
答案 3 :(得分:10)
cd
到另一个文件夹。mkdir .ssh
答案 4 :(得分:5)
警告:如果要将密钥保存在 C:/User/username/.ssh (默认位置)下,请务必在某处备份密钥(例如你的密码管理员。)
在最新的Windows 10更新(版本1607)之后,我的.ssh文件夹为空。这是我的密钥一直存在的地方,但Windows决定在更新时删除它们。
谢天谢地,我已经备份了我的钥匙......但是......我打赌有些人今天会恢复他们的电脑。
答案 5 :(得分:2)
我发现一个值得注意的例外,在Windows 10中,如果ssh-keygen生成器中未指定的文件名,则使用描述的路径只将文件写入文件夹。
提供自定义密钥名称会导致包含RSA公钥和私钥的文件不会写入该文件夹。
ssh-keygen
c:/Users/YourUserName/.ssh/
(使用Admin命令行和Windows 10 Pro )
答案 6 :(得分:2)
如果您的Windows 10带有OpenSSH客户端,则可以生成密钥,但是由于ssh-copy-id命令不是客户端工具集的一部分,因此将密钥复制到目标Linux盒时会遇到麻烦。 / p>
遇到此问题时,我编写了一个小的PowerShell函数来解决此问题,并将其添加到配置文件中。
mapbox://styles/mapbox/streets-v11
您可以在此处获得gist
我对此进行了简要介绍here
答案 7 :(得分:0)
我终于通过使用“运行管理员”运行打开命令行来工作,即使我已经是管理员并且可以手动创建目录
答案 8 :(得分:0)
今天我遇到了一个问题。
对于GIT,密钥必须具有2048的强度,必须位于users .ssh目录中,并且称为id_rsa和id_rsa.pub。将密钥粘贴到文件中时,请确保使用不添加VIM等新行的程序。
答案 9 :(得分:0)
我正在运行Microsoft Windows 10 Pro,版本10.0.17763,内部版本17763,并且在C:\ Users \ jrosario \ .ssh上很容易看到我的.ssh文件夹,而无需编辑权限或其他任何操作(尽管在File Explorer中,我确实选择了“显示隐藏的文件,文件夹和驱动器”):
答案 10 :(得分:0)
此外,您可以尝试(对于Windows 10 Pro)
以管理员身份运行Powershell并输入ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
答案 11 :(得分:0)
所有这些答案都会生成不够安全的默认密钥。这个答案建议了一种(许多中的一种)生成安全密钥的方法。我宁愿使用我的答案而不是本页上的其他答案......到目前为止......
ssh-keygen -t rsa -b 4096