如何在windows下修改~/.ssh文件夹和文件?

问题描述 投票:0回答:8

我觉得我缺少一些有关 .ssh 目录在 Windows 中如何工作的基本概念。我在 OSX/Linux 上工作时没有遇到像现在这样的问题。我的最终目标只是将现有的 ssh 密钥移动到默认的 ~/.ssh 目录中,并根据我的选择更新配置(你知道,正常的 ssh 密钥相关任务)。

但是,任何时候我尝试将现有的 SSH 密钥移至 ~/.ssh 目录,或打开它,甚至创建一个配置文件,我都会收到以下错误(在 gitbash、puttygen 等中) ):

Puttygen(将密钥保存到磁盘):

Overwrite existing file C:\Users\me\.ssh?

或者在 gitbash 中(尝试做任何事情,包括创建配置文件):

touch: creating `/c/Users/me/.ssh/config': No such file or directory

cd ~/.ssh

sh.exe": cd: /c/Users/me/.ssh: Not a directory

我错过/不明白什么?

亲切的问候, u353

windows ssh directory home-directory
8个回答
37
投票

此答案适用于Windows环境

一开始,Windows 没有

.ssh
文件夹。 创建像这样的 ssh 密钥文件对(
ssh-keygen
现在是 Windows 10+11 附带的本机 Windows 命令):

ssh-keygen -t rsa -b 4096 -C "[email protected]"
必须以管理员身份运行终端)。

您的

is_rsa
id_rsa.pub
文件将放置在
C:\Users\your_username\

因此,您需要创建文件夹

C:\Users\your_username\.ssh
,然后将您的ssh文件(无扩展名的私钥和以
.pub
结尾的公钥)复制到那里。

您还必须创建文件

C:\Users\your_username\.ssh\config
并首次编辑它。

接下来的ssh会自动放到

.ssh
文件夹中。

注意:Linux 下的

~/
相当于 Windows 上的
C:\Users\your_username\


8
投票

我在 Windows 7 上创建并定期使用“.ssh”目录;正如上面的评论中提到的,Windows 资源管理器不支持它们,或者更具体地说,Windows 资源管理器中的错误检查不允许您提供以句点开头的文件名。命令提示符或 powershell 中不存在相同的限制。

此外,如上所述,您的主目录中似乎有一个名为“.ssh”的文件,必须先将其删除,然后才能创建名为“.ssh”的文件夹。

一旦存在这样的文件夹,您就可以使用 Windows 资源管理器打开它并在其中更改/创建文件;它只是不允许您直接命名文件夹/文件“.ssh”。

Gitbash 应该直接允许您运行“rm .ssh”和“mkdir .ssh”,此时其他一切都应该可以工作。


6
投票

很可能使用文件资源管理器在目录名称的开头添加

.
,也可以通过在目录名称的末尾添加
.
轻松完成。例如:

要创建名为

.ssh
的目录,只需添加名称为
.ssh.
即可创建,不会出现任何错误。

正如 @Bryson 提到的,这也可以通过 cli 完成,而无需在末尾附加

.


5
投票

在 2018 年,鉴于您在 Windows 10 上安装了可选功能 OpenSSH 客户端,似乎在 Windows 上会在

.ssh
 下为您创建一个 
C:\Users\<your_username>\.ssh

文件夹

此功能允许您使用 PowerShell 通过 SSH 连接到远程主机,并且在用法上似乎与 Linux/Unix 等效功能非常相似。当我设置计算机时,它已经为我安装,但您可以阅读以下内容以了解如何验证它已安装或安装它:

您可以通过转到“设置”->“管理可选功能”来检查它是否已安装,然后检查是否在列表中看到 OpenSSH。如果是,那么您的 .ssh 文件夹可能位于您的主目录中

C:\Users\<your_username>\.ssh
。如果您需要安装它,请单击“添加功能”,找到 OpenSSH Client,单击它,然后单击安装进行安装。


1
投票

在 Windows 上使用 git bash 转到主目录

$ cd

然后检查主目录上的 .ssh 文件夹使用

$ ls -A 

您将能够在那里看到一个 ./ssh 文件夹

$ cd ./ssh
$ ls

您将能够看到配置文件(如果存在)

要将任何密钥对或任何文件传输到此文件夹,请使用以下命令 首先到您已经拥有密钥对的目录

$ cp name_of_key-pair_file.pem ~/.ssh/

1
投票

首先,如果你想生成SSH文件,你需要做的就是运行这个命令:

ssh-keygen

完成后,.ssh文件夹将在此路径中生成:

C:\Users\your_username\

要检查 .ssh 文件夹中的文件,您可以轻松运行以下命令:

ls ~/.ssh

使用上面的命令,您可以看到所有 ssh 文件,如下所示:

id_rsa   id-rsa.pub

请注意:

id_rsa:这是一个私人文件, id-rsa.pub:这是一个公共文件

所以,如果您想查看该文件的内部或任何您喜欢的内容,只需输入以下命令:

cat ~/.ssh/id_rsa.pub

0
投票

为了解决这个问题,我使用了 git batsh 控制台


-27
投票

不支持此功能,因为 Windows 无法将点文件识别为目录。

© www.soinside.com 2019 - 2024. All rights reserved.