管理SSH服务(远程连接服务)

一,ssh服务常用配置参数 /etc/ssh/sshd_config

注意:修改端口时要确保SELinux 不是 Enforcing

[root@test13 ~]# vim /etc/ssh/sshd_config 

17 Port 2233

19 ListenAddress 192.168.4.13

[root@test13 ~]# systemctl restart sshd

[root@test13 ~]# netstat -pantu | grep sshd

tcp    0    0 192.168.4.13:2233    0.0.0.0:*          LISTEN      4257/sshd  


[root@test13 ~]# vim /etc/ssh/sshd_config 

19 #ListenAddress 192.168.4.13

[root@test13 ~]# systemctl restart sshd

[root@test13 ~]# netstat -pantu | grep sshd

tcp    0    0 0.0.0.0:2233        0.0.0.0:*           LISTEN      4487/sshd  


[root@test13 ~]# vim /etc/ssh/sshd_config 


48 #LoginGraceTime 2m//登录限时

51 #MaxAuthTries 6//每次连接最多认证次数

#运程登录输入密码错误6次 两分钟不允许登录

129 #UseDNS yes//解析客户机地址


二,黑白名单

白名单(在白名单列表里的用户可以连接)

AllowUsers 用户名@客户端地址 用户名

AllowGroups 用户名组名1 用户名组名2

黑名单(只有在黑名单列表的用户不可以连接)

DenyUsers 用户名@客户端地址 用户名

DenyGroups 用户名组名1 用户名组名2


三,修改用户登录认证方式:

口令认证登录(密码登录)

检查登录用户的口令是否一致

密钥认证登录(公钥加密 私钥解密)

client:

1,创建密钥对

2,把公钥传给ssh服务器

[root@room1pc32 桌面]# ssh-keygen 

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa): 

Created directory '/root/.ssh'.

Enter passphrase (empty for no passphrase): 

Enter same passphrase again: 

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

6f:b4:75:af:e5:60:79:d6:cd:36:c8:c8:7b:17:8c:e2 [email protected]

The key's randomart image is:

+--[ RSA 2048]----------+

|                                      |

|                                      |

|                                      |

|                                      |

|        S . . +                    |

|         o.+oo.*o              |

|          =o.o+.@             |

|         . E.o X.                |

|           .. o .                    |

+------------------------------+


sshd:

包ssh服务认证方式修改为密钥认证方式

[root@room1pc32 桌面]# ls ~/.ssh/

id_rsa  id_rsa.pub

[root@test12 ~]# ls ~/.ssh/

ls: 无法访问/root/.ssh/: 没有那个文件或目录

[root@room1pc32 桌面]# ssh-copy-id [email protected]

[root@test12 ~]# ls ~/.ssh/

authorized_keys

[root@room1pc32 桌面]# ssh-add 

Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)

[root@room1pc32 桌面]# ssh -X [email protected]

Last login: Tue Jan  2 21:30:50 2018 from 192.168.4.254



关闭口令登录

[root@test12 ~]# vim /etc/ssh/sshd_config 

79 PasswordAuthentication no

[root@test12 ~]# systemctl restart sshd


关闭口令登录后 如果其他主机想要访问的话 可以将本机的私钥访问

[root@room1pc32 桌面]# scp ~/.ssh/id_rsa 192.168.4.13:/root/.ssh/

[root@room1pc32 桌面]# ssh -X [email protected]

[root@test13 ~]# ls ~/.ssh/

id_rsa  known_hosts

[root@test13 ~]# ssh -X [email protected]

Last login: Tue Jan  2 21:46:08 2018 from 192.168.4.13

[root@test12 ~]# exit


四,客户端连接ssh服务

ssh ssh服务器地址   访问21端口 root用户

ssh 用户名@ssh服务器地址访问21端口

ssh -X -p 端口号 用户名@ssh服务器地址


*在RHCE的考试过程一定不要一直在虚拟机界面操作 一定是使用ssh远程连接两台虚拟来完成考试

在RHCE的考试中有一道考试题目是:

配置SSH访问

按以下要求配置 SSH 访问:

  • 用户能够从域 example.com(这个域名考试会改变) 内的客户端 SSH 远程访问您的两个虚拟机系统

  • 在域 my133t.org (这个域名考试会改变) 内的客户端不能访问您的两个虚拟机系统

        我们需要做的是在俩台虚拟机上配置黑白名单 具体操作如下

        # vim /etc/ssh/sshd_config                         #键盘上按Shift+g 跳转到最后一行 在最后一行上添加

        .. ..

        DenyUsers *@*.my133t.org                        # 这个域名考试时会进行改变   

        #会也可以通过考试提供的注意事项  找道此域名对应网段   例如 my133t.org 对应的网段为 172.34.0.0

        DenyUsers   *@*172.34.0.*

        # systemctl restart sshd                                #重启ssh服务

        另外这道题也可以通过配置防火墙策略 将这个网段放入block区域

        具体操作请访问 https://blog.51cto.com/13558754/2058387