该目录中/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
在 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