远程访问及控制

前言: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密钥对文件。

[root@localhost ~]# ssh-keygen -t rsa

(2)将其中的公钥文件发送给网站Web服务器(使用FTP等任何方式)。 3、配置OpenSSH服务端 (1)在网站服务器中,开启SSH密钥对验证、密码验证,并限制登录用户。

[root@localhost ~]# vi /etc/ssh/sshd_config …… //省略部分内容 PermitRootLogin no AllowUsers jacky@192.168.3.110 wzadm PasswordAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_key [root@localhost ~]# service sshd reload

(2)将客户机发过来的公钥文本导入wzadm用户的公钥数据库。

[root@localhost ~]# mkdir -p /home/wzadm/.ssh/ [root@localhost ~]# cat id_rsa.pub >> /home/wzadm/.ssh/authorized_keys

(3)锁定用户账号wzadm,以禁止其直接使用口令验证。

[root@localhost ~]# passwd -l lisi Locking password for user lisi. passwd: Success

4、验证实验结果 (1)使用jacky的用户名/密码,可以从主机192.168.3.110远程登录网站服务器。 (2)使用wzadm的用户名/密码,在任何主机中均无法远程登录网站服务器。 (3)在生成密钥对的主机中,使用wzadm的用户名、验证私钥短语后可以登录网站服务器。 (4)使用root用户或其他用户(如wangwu),无法远程登录网站服务