SSH 面试总结
总结了一部分面试时候遇到的问题:希望和大家一起学习
类型:优化类
-
登录验证方式
- 口令登录:用户密码
- 客户端向服务器端发起ssh请求
- 服务端收到请求,发送公钥到客户端
- 客户端传入用户名和密码通过公钥加密后传给服务端
- 秘钥对
- 客户端生成秘钥对,包括公钥和私钥,私钥放自己本地
- 公钥拷贝一份并命名为 authorized_keys
- 客户端向服务器端发送请求,信息包括 ip、用户名
- 服务器端随机生成字符串 qwer(质疑码),然后用公钥加密后发送到客户端
- 客户端用私钥解密,发送到服务端
- 服务端校验是否为 qwer,若一致,则允许登录
- 口令登录:用户密码
-
登录端口和监听设置(使用防火墙白名单,放行监听端口和IP)
配置文件:/etc/ssh/sshd_config
-
Port 22
-
ListenAddress 0.0.0.0
服务器有很多块网卡,我们应该设置通过内网登录,不能通过外网登录,改成内网 IP 就可以
-
-
登录用户限制:哪类用户更安全?
-
PermitRootLogin yes
禁止 ROOT 用户登录
-
-
登录超时问题:一定时间不操作,连接成功不操作
配置文件:/etc/profile
export TMOUT=300 # 设置客户端无操作自动断开连接
-
登录失败尝试次数:
配置文件:/etc/ssh/sshd_config
- MaxAuTries 6 #设置客户端登录失败尝试次数
相关问题:
-
ssh 连接时认证时间过长
配置文件:/etc/ssh/sshd_config
- UseDns yes #取消ssh登录时,服务器对客户端的反向解析
-
scp 和 rsync 进行远程文件复制的区别
- scp:全备份、文件级传输、 加密传输、资源消耗低
- rsnc:差异对比,增量备份 、分块校验、非加密传输、资源消耗高
ssh 配置文件注释了的是生效的,想要关闭,一定要取消注释,然后改成no