sshd服务端 ssh客户端
ssh 服务配置
#ssh 服务安装包 openssh-server
[root@server1 ~] # vim /etc/ssh/sshd_config
17 . #Port 22 # 监听端口,默认监听 22 端口 【默认可修改】
18 . #AddressFamily any #IPV4 和 IPV6 协议家族用哪个, any 表示二者均有
19 . #ListenAddress 0.0.0.0 # 指明监控的地址, 0.0.0.0 表示本机的所有地址 【默认可修改】
20 . #ListenAddress :: # 指明监听的 IPV6 的所有地址格式
28 .HostKey /etc/ssh/ssh_host_rsa_key # rsa 私钥认证 【默认】
29 . #HostKey /etc/ssh/ssh_host_dsa_key # dsa 私钥认证
30 .HostKey /etc/ssh/ssh_host_ecdsa_key # ecdsa 私钥认证
31 .HostKey /etc/ssh/ssh_host_ed25519_key # ed25519 私钥认证
43 .SyslogFacility AUTHPRIV # 当有人使用 ssh 登录系统的时候, SSH 会记录信息,信息保存
在 /var/log/secure 里面
48 . #LoginGraceTime 2m # 登录的宽限时间,默认 2 分钟没有输入密码,则自动断开连接
49 . #PermitRootLogin yes # 是否允许管理员远程登录, 'yes' 表示允许
51 . #MaxAuthTries 6 # 最大认证尝试次数,最多可以尝试 6 次输入密码。之后需要等待某段时间后才
能再次输入密码
52 . #MaxSessions 10 # 允许的最大会话数
59 .AuthorizedKeysFile .ssh/authorized_keys # 选择基于密钥验证时,客户端生成一对公私
钥之后,会将公钥放到 .ssh/authorizd_keys 里面
79 .PasswordAuthentication yes # 是否允许支持基于口令的认证
83 .ChallengeResponseAuthentication no # 是否允许使用键盘输入身份验证,也就是 xshell
的第三个登录方式
129 . #UseDNS yes # 是否反解 DNS ,如果想让客户端连接服务器端快一些,这个可以改为 no
146 .Subsystem sftp /usr/libexec/openssh/sftp-server # 支持 SFTP ,如果注释掉,则
不支持 sftp 连接
154 .AllowUsers user1 user2 # 登录白名单(默认没有这个配置,需要自己手动添加),允许远程
登录的用户。如果名单中没有的用户,则提示拒绝登录
用户登录 ssh 服务器
实验 1 :修改 ssh 服务的端口号
改端口号
在客户端
实验 2 :拒绝 root 用户远程登陆
# 请保持服务器上至少有一个可以远程登陆的普通远程账号
# 修改配置文件如下:
# 打开该选项并修改参数为 no
PermitRootLogin no
# 重启服务后生效,使用时使用普通用户进行登陆,需要使用 root 用户时再切换
# 说明:注意新版本 rhel9 中的 /etc/ssh/sshd_config 和 /etc/ssh/sshd_config.d/*.conf 中的
配置
实验 3 :允许特定用户 ssh 登陆,其他用户都无法登陆
# 编辑配置文件,在最后添加如下内容:
AllowUsers USERNAME
#USERNAME 为你允许登陆的账号【需要在系统中 useradd 该账号】,如果是多个用户,中间用空格隔开
# 重启 ssh 服务后生效