目录
5. 在修改 sshd 配置文件后,需要执行什么操作让修改生效?
1. 简单说下 ssh 如何实现用户的免密登录?
答:在需要登陆的客户端生成一对密钥(公钥+私钥),把公钥追加到服务器该用户的 ~/.ssh/authorized_keys 文件中。客户端发起 SSH 连接请求后,服务器生成随机字符串,用客户端的公钥加密后发送给客户端,客户端用本地私钥解密字符串,将结果发回服务器,服务器验证结果正确后,允许登录。
2. SSH 的公钥和私钥有什么区别?它们分别存放在哪里?
答:公钥:可公开,用于加密或验证签名,由私钥生成,但无法反向推到私钥;服务器端公钥放在~/.ssh/authorized_keys(有放置在全局的/home/student/.ssh中,有放置在局部的/etc/..),客户端放在 ~/.ssh/id_rsa.pub
私钥:必须保密,用于解密或生成数字签名,唯一能解开对应公钥加密的数据;默认放在客户端的 ~/.ssh/id_rsa、
3. 如何设置禁止直接远程登录 root 账户?
答:先登录到root用户,编辑 /etc/ssh/sshd_config,设置PermitRootLogin no,再重启systemctl reload sshd
默认密码、密钥的登录都不允许:不安全,容易被破解
4. 如何设置禁止使用基于密码的身份验证来进行远程登录?
答:编辑 /etc/ssh/sshd_config,设置PasswordAuthentication no,再重启systemctl reload sshd
5. 在修改 sshd 配置文件后,需要执行什么操作让修改生效?
答:systemctl restart sshd/ systemctl restart sshd
reload:让正在运行的 SSH 服务重新读取配置文件 (sshd_config),不会中断当前的连接。首选方式,更安全。
restart:停止当前 SSH 服务,然后重新启动它。这会断开所有当前的 SSH 连接(包括修改配置时用的那个连接)
sshd默认端口号:22(不是唯一的,可以配置的)
生产上sshd端口号不是22,所有的web服务器端口号都不是80:更安全,仅有内部人员知道