目录
5. 在修改 sshd 配置文件后,需要执行什么操作让修改生效?
1. 简单说下 ssh 如何实现用户的免密登录?
SSH
通过使用公钥认证(公钥加密算法)来实现用户的免密登录。具体步骤如下:
① 用户在本地生成一对密钥:公钥和私钥。
② 用户将公钥传输到远程服务器上的
~/.ssh/authorized_keys
文件中。
③ 当用户尝试通过
SSH
连接到远程服务器时,远程服务器会向用户发送一个随机字符串(challenge
)。
④ 用户使用本地保存的私钥对该随机字符串进行加密,并将加密后的数据发送回服务器。
⑤ 服务器使用之前存储的公钥来解密数据,如果解密成功且与原始的随机字符串匹配,则认证通过,允许用户登录。
2. SSH 的公钥和私钥有什么区别?它们分别存放在哪里?
① 公钥:
用于加密数据或验证签名,可以公开共享。
存放在用户主目录下的
~/.ssh/id_rsa.pub 文件中。
② 私钥:
用于解密数据或生成签名,必须保密存储。
存放在用户主目录下的
~/.ssh/id_rsa
文件中。
3. 如何设置禁止直接远程登录 root 账户?
修改 SSH 配置文件 /etc/ssh/sshd_config
,找到并设置以下选项:PermitRootLogin no
修改后保存文件并重新加载
SSH
服务。
(同理:如果允许 root 远程登录,设置为 PermitRootLogin yes 即可)
4. 如何设置禁止使用基于密码的身份验证来进行远程登录?
在
SSH 配置文件 /etc/ssh/sshd_config
中进行设置:PasswordAuthentication no
这会禁用基于密码的身份验证,只允许使用公钥认证。
修改后保存文件并重新加载
SSH
服务。
5. 在修改 sshd 配置文件后,需要执行什么操作让修改生效?
在修改了
/etc/ssh/sshd_config
文件后,需要重新加载
SSH
服务配置使修改生效。
执行命令:
systemctl restart sshd