如何从 /etc/ssh 目录中检索或重新创建已删除的文件

如何从 /etc/ssh 目录中检索或重新创建已删除的文件

该目录中/etc/ssh存在以下内容:

moduli      sshd_config           ssh_host_ecdsa_key      ssh_host_ed25519_key      ssh_host_rsa_key      ssh_import_id
ssh_config  sshd_config.ucf-dist  ssh_host_ecdsa_key.pub  ssh_host_ed25519_key.pub  ssh_host_rsa_key.pub

我实际上可以看到两个类别:

  1. 公钥/私钥
  2. 配置文件

如果任何这些类别的文件被错误删除。

如何重新生成该文件?可能吗?如何?根据每个类别(1 或 2)

答案1

在 Ubuntu 中,OpenSSH 客户端/服务器配置文件是:

  • /etc/ssh/sshd_config- SSH 服务器(守护进程)的配置文件。可以在目录中添加其他配置文件/etc/ssh/sshd_config.d/,并且它们的文件扩展名必须是.conf(这些在 的开头调用/etc/ssh/sshd_config)。

  • /etc/ssh/ssh_config- SSH 客户端的系统范围配置文件,此文件中的设置将应用于所有用户。 可以在目录中添加其他配置文件,/etc/ssh/ssh_config.d/并且它们的文件扩展名必须是.conf(这些在 的开头调用/etc/ssh/ssh_config)。

  • ~/.ssh/config- SSH 客户端的个人配置文件。此文件位于用户主目录中名为 的特殊目录中.ssh。目录本身必须具有私有权限 (700),并且其中的文件也必须是私有的 (600)。

公钥/私钥由用户拥有,因此它们是私有的:)默认情况下,它们位于用户的目录中~/.ssh

在我的这个答案的第 1 部分和第 2 部分中描述了如何设置基于密钥的 SSH 身份验证:https://askubuntu.com/a/986245/566421

以下是 SSH 密钥不在用户主目录中的情况的示例:https://askubuntu.com/a/882379/566421

如果您想重新创建目录,/etc/ssh您可以清除 OpenSSH 客户端和服务器,然后重新安装它们(但您可能不需要这样做):

sudo apt update
sudo apt purge openssh-client openssh-server
sudo rm -R /etc/ssh
sudo apt install openssh-client openssh-server

相关内容