远程访问及控制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了远程访问及控制相关的知识,希望对你有一定的参考价值。
远程访问及控制
前言:linux运维管理的时候,一般都是通过远程方式管理,主要是安全的远程管理SSH的使用。
一、
1、服务监听选项
Vim /etc/ssh/sshd_config (注意彩色部分要修改)
Service sshd reload重新加载服务才能生效
2、用户登录控制
通常应禁止root用户或密码为空的用户登录,另外,可以限制登录验证的时间(默认为2分钟)及最大重试次数,若超过限制后仍未登录则断开连接。
Vim /etc/ssh/sshd_config
上图中的PermitRootLogin yes是允许root登录,如果不允许把yes改为no
PermitEmptyPasswords no的意思是禁止空密码用户登录,PasswordAuthentication yes是启用密码验证。
3、登录验证方式
上图中的PubkeyAuthentication yes是启用密钥对验证,下一行是指定公钥数据库文件
4、如果希望只允许或禁止某些用户登录时,可以使用AllowUsers或DenyUsers,如果只允许某些用户,如下图:
5、使用ssh客户端程序
1)在另一台LINUX上ssh远程登录
2)ssh的端口默认是22,不安全,可以修改端口
修改完配置文件别忘了重启sshd服务
在客户机上连接的时候需要加上端口
3)远程连接到服务器之后,可以使用scp远程复制的方法在服务器和客户机之间传递文件。
例如:将远程主机中的/etc/passwd文件复制到本机,并将本机的/etc/vsftpd目录复制到远程主机。
在客户端192.168.1.2上执行以下命令:
然后在192.168.1.1上查看/opt下有没有/etc/vsftpd
4)通过sftp命令可以利用SSH安全连接与远程主机上传,下载文件,采用了类似于ftp的方式。
上传文件如下图:
然后到ssh服务器上的root宿主目录查看
6、在windows客户端上使用图形工具xshell连接服务器
安装后新建会话,输入用户名和密码即可连接,如下图:
7、构建密钥对验证的SSH体系(这种验证方法更安全)
实验环境:一共两台linux,一台ssh客户机192.168.1.2,另一台linux服务器192.168.1.1
1)在客户端创建密钥对
执行命令之后一路回车
2)将公钥上传到服务器
3)在服务器中导入公钥文本
4)在客户端使用密钥对验证(验证之前别忘记在sshd主配置文件中允许xiaohong)
8、配置tcp wrappers访问控制
tcp wrappers机制针对访问服务的客户机地址进行访问控制,对应两个策略文件/etc/hosts.allow和/etc/hosts.deny,分别用来设置允许和拒绝策略。
策略的应用顺序:首先检查/etc/hosts.allow文件,如果找到匹配策略,则允许访问,否则继续检查/etc/hosts.deny文件,如果找到匹配,则拒绝,如果上述两个文件都找不到匹配的策略,则允许访问。
例如:允许192.168.1.2的主机或者192.168.2.0的网段访问sshd,其他地址被拒绝,执行以下操作。
1)vim /etc/hosts.allow
2)vim /etc/hosts.deny
3)在客户端上修改ip为192.168.1.200,测试连接失败
4)把客户端的ip改回到192.168.1.2之后,成功连接。
二、上机实验部分
1、准备实验环境
一共四台电脑,一台internet测试机,一台网站服务器,一台网关服务器(添加两块网卡),使用真机做网管工作站,如下图所示:
(1)正确配置各主机的网络参数(IP地址、子网掩码、默认网关),网关服务器的内网卡使用vm1,ip地址是192.168.1.254,外网卡使用vm8,ip地址是218.29.30..31,Internet测试机ip地址是218.29.30.218,网卡vm8,配置网关指向218.29.30.31,网站服务器的地址是192.168.1.1,网卡vm1,网关指向192.168.1.254。
(2)在linux上配置网关的临时方式例如:route add default gw 192.168.1.254
(3)在网关服务器上开启路由转发。
echo “1” > /proc/sys/net/ipv4/ip_forward
修改/etc/sysctl.conf文件
??????? net.ipv4.ip_forward = 1
修改完毕后执行sysctl -p执行,让sysctl.conf配置文件即使生效。
(4)测试内外网之间可以ping通
(5)在网站服务器上添加测试用户jacky、wzadm,并设置好密码。
2、创建密钥对文件,分发公钥
(1)在Internet测试用机218.29.30.218上创建SSH密钥对文件。
[[email protected] ~]# ssh-keygen -t rsa
(2)将其中的公钥文件发送给网站Web服务器(使用FTP等任何方式)。
3、配置OpenSSH服务端
(1)在网站服务器中,开启SSH密钥对验证、密码验证,并限制登录用户。
[[email protected] ~]# vi /etc/ssh/sshd_config
…… //省略部分内容
PermitRootLogin no
AllowUsers [email protected] wzadm
PasswordAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_key
[[email protected] ~]# service sshd reload
(2)将客户机发过来的公钥文本导入wzadm用户的公钥数据库。
[[email protected] ~]# mkdir -p /home/wzadm/.ssh/
[[email protected] ~]# cat id_rsa.pub >> /home/wzadm/.ssh/authorized_keys
(3)锁定用户账号wzadm,以禁止其直接使用口令验证。
[[email protected] ~]# passwd -l lisi
Locking password for user lisi.
passwd: Success
4、验证实验结果
(1)使用jacky的用户名/密码,可以从主机192.168.3.110远程登录网站服务器。
(2)使用wzadm的用户名/密码,在任何主机中均无法远程登录网站服务器。
(3)在生成密钥对的主机中,使用wzadm的用户名、验证私钥短语后可以登录网站服务器。
(4)使用root用户或其他用户(如wangwu),无法远程登录网站服务
以上是关于远程访问及控制的主要内容,如果未能解决你的问题,请参考以下文章