尝试创建 .ssh 密钥时没有此文件或目录

尝试创建 .ssh 密钥时没有此文件或目录

当我尝试在我的 Debian 实例上创建 ssh 密钥时:

ssh-keygen -f /home/serverkeys/.ssh/id_rsa 

我收到错误:保存密钥“/home/serverkeys/.ssh/id_rsa”失败:没有此文件或目录

我正在使用 root 用户,当我检查目录的权限时:

 ls -ld

我明白了

drwxr-xr-x 2 root root 4096 Oct 17 08:32 .

我有几个问题:

1)我遗漏了什么,为什么系统不能自动创建指定的.ssh 目录?

2)我是否需要创建另一个用户并从使用 root 切换。我不确定新用户是否会继承我目前拥有的所有软件包的权限,因为我已经使用 root 用户配置文件安装了它们?

我打算使用 ssh 密钥来集成 Jenkins 和 Gitlab,具体方法如下Jenkins_Gitlab集成

然而,在示例中,Jenkins 实例和 Gitlab 实例安装在 d不同的服务器但对于我的设置,它们安装在相同的 Debian 实例而且我的 Gitlab 仓库是民众

我不确定是否仍然需要 ssh 密钥,因为 Jenkins 和 Gitlab 在同一个 Debian 实例上运行,例如,Jenkins 是否仍然需要 ssh 密钥才能从 Gitlab 检出代码。

答案1

我尝试使用以下命令创建一个新证书:

 ssh-keygen -t ed25519 -f ~/keys/server_name/id_rsa -q -N ""

(没有 -y 或 -c 标志)

注意:-y 标志不是确认

答案2

-f key_file开关本身不会创建新密钥,也不会创建目录.ssh。与其他开关一起使用时,-f 开关还用于将现有 key_file 作为输入。请参阅man ssh-keygen

您需要使用-c选项和 ssh-keygen-c-f /home/serverkeys/.ssh/id_rsa创建一个新的私钥。

相关内容