文章目录
前言
- 大多数企业服务器是通过远程登录的方式来进行管理的
- 当需要从一个工作站管理数以百计的服务器主机时,远程维护的方式将更占优势
一:SSH远程管理
1.1:配置Open SSH服务端
- 为客户机提供安全的shell环境,用于远程管理
- 默认端口:TCP 22
-
服务名称:sshd
-
服务端主程序:/usr/sbin/sshd
-
服务端配置文件:/etc/ssh/sshd_config
-
ssh_config:针对客户端
sshd_config:针对服务端
1.1.3:OpenSSH服务(4-2)
-
服务监听选项
端口号,协议版本,监听IP地址
禁用反向解析
[root@localhost ~]# vi /etc/ssh/sshd_config
如果把监听端口改成了2222,那在自己SecureCRT登录界面窗口改改成2222,否则是登录不了的,如下图,
[root@localhost ~]# vi /etc/ssh/sshd_config
LoginGraceTime 1m //登录验证时间为1分钟
PermitRootLogin no // 禁止root用户登录
MaxAuthTries 2 // 最大重试次数为2次
把这个#号键去掉,意思是禁止空密码用户登录
然后wq保存退出
之后再
[root@localhost ~]#systemctl restart sshd 重新加载一下
[root@localhost ~]# exit 退出去之后重新登录,发现root用户已经登录不进去了
之前我们在配置文件设置了登录验证时间为1分钟,那我们在登录界面等待一分钟看看会怎样
那我们看待下图发现等待一分钟停顿在登录界面系统直接退出了登录界面
[root@localhost ~]# vi /etc/ssh/sshd_config
现在我们在配置文件里操作允许那些用户可以在登录,我们在设置了成了自己的vm虚拟机的ip地址,重新加载看下是否还能登录
[root@localhost ~]# systemctl restart sshd刷新一下
[root@localhost ~]# exit 退出重新登录
tang的用户登录不了,但是root用户可以正常登录,因为AllowUsers root tang@20.0.0.11这边有俩个问题,第一ip地址不能设置vm虚拟机的ip地址,因为它这个就相当于数据的封装的源ip和目标ip,secureCRT发送出去的数据就是源ip,然后在到达vm机,这个就相当于我们在生产环境中需要用crt连接跳板机的管理口去控制服务器。第是格式,原意是允许root和tang的用户登录,但是只有用户名@ip地址之后才能生效
这是真机VM8的ip地址,那么把ip地址改一下和格式改一下,那这俩个用户就都能正常登录了
tang的登录界面
现在看到就能登录上去了
1.1.5:OpenSSH服务(4-4)
-
登录验证对象
服务器中的本地用户账号
-
登录验证方式
密码验证:核对用户名,密码是否匹配
密钥对验证:核对客户的私钥,服务端公钥是否匹配
-
密钥对:包含公钥,私钥
公钥:服务器使用
私钥:客户保留
非对称秘钥:RSA
对称秘钥:3DES,AES
[root@localhost ~]# vi /etc/ssh/sshd_config
把#号键去了 ,启用密钥对验证
把这前面的#号去掉,意思就是公钥库文件,修改完之后wq保存一下
[root@localhost ~]# systemctl restart sshd 重新加载一下
这边在重新开启一台虚拟机IP地址20.0.0.12
在这条虚拟机输入ssh root@20.0.0.11
先输入yes,然后三个回车
在20.0.0.11主机上修改/etc/ssh/sshd_conf的配置文件
修改成如下图
这样的模式就是root的不在白名单之内了,否则先登录的20.0.0.12主机就不能访问20.0.0.11主机
[root@localhost ~]# systemctl restart sshd 修改完之后还是要重新加载下
然后用12的主机去连接11
[root@localhost ~]# ssh root@20.0.0.11
[root@localhost ~]# ip addr
发现已经能看到11的ip,那现在就已经远程登录成功了
首先我们11主机先exit退出一下,然后在/opt目录下touch 俩个文件分别是1.txt和2.txt,然后在用12的主机 ssh root@20.0.0.11远程,之后再12的主机输入
scp root@20.0.0.11:/opt/2.txt /opt ///意思就是复制11的主机opt目录下的2.txt到本端opt目录下
这就考过来了。
还有一种是从本端上传到对端,那我们可以把11端1.txt的文件长传到12端
[root@localhost opt]# scp 1.txt root@20.0.0.11:/opt
上传成功了
我们切到12端看一下
[root@localhost ~]# cd /opt
[root@localhost opt]# ls
发现12端的已经收到该文件
密钥免密码登录
注释:20.0.0.11=11 客户 端20.0.0.12=12 服务端
首先在客户端
[root@localhost opt]# ssh-keygen -t rsa 创建密钥
然后直接回车
就相当于创建成功了
[root@localhost opt]# cd /root
[root@localhost ~]# ls -a
发现有.ssh隐藏文件
[root@localhost ~]# cd .ssh
[root@localhost .ssh]# ls
就已经有密钥文件了
- 将公钥文件上传到服务器端,但有一点主意新生产的私钥文件,权限默认是600,对于公钥文件件id_rsa.pub用来提供给SSH服务器
[root@localhost .ssh]# ssh-copy-id root@20.0.0.12 上传公钥
回复yes
直接回车
就看到主机名变成fuwu的主机名了
切到12客户端
[root@fuwu opt]# cd /root
[root@fuwu ~]# ll -a
就已经有.ssh的文件了
发现已经上传到了客户端
[root@fuwu ~]# vi /etc/hosts.allow ///允许访问配置文件
在末行插入
[root@fuwu ~]# vi /etc/hosts.deny ///拒绝访问配置文件
在末行插入
然后用20.0.0.12的主机远程连接20.0.0.11,连接成功了
那把允许访问列表改一下,那现在也是不允许,拒绝列表也是拒绝访问
为了测试一下用20.0.0.12主机先退出,然后在用12的主机去访问11的主机
发现已经无法远程访问了
那还有什么办法可以访问呢,还有一种拒绝访问配置文件中sshd:ALL前面加上一个#号建
[root@fuwu ~]# vi /etc/hosts.deny
然后在尝试一下能否用12的主机访问
又能成功的登录上了,这就是在允许列表没有找到,在拒绝列表中也没有找到,那就放通了,有种负负得正的感觉