远程访问及控制

前言:linux运维管理的时候,通常都是经过远程方式管理,当须要从一个工做站管理数以百计的服务器主机时,远程维护的方式将更占优点。linux

一:SSH远程管理shell

SSH是一种安全通道协议,主要用来实现字符界面的远程管理、远程复制等功能。SSH协议对通讯双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。vim

与早起的TELNET(远程登陆)、RSH(Remote Shell,远程执行)、RCP(Remote File Copy,远程文件复制)等应用相比,SSH协议提供了更好的安全性。c#

OpenSSH软件官网:http://www.openssh.comwindows

一、服务监听选项安全

[root@localhost ~]# vim /etc/ssh/sshd_config 
......//省略部份内容
Port 22                                   //监听端口为22
#AddressFamily any
ListenAddress 192.168.1.1                 //监听地址为192.168.1.1
 ......//省略部份内容
Protocol 2                                //使用SSH V2协议
......//省略部份内容
UseDNS no                                 //禁用DNS反向解析
......//省略部份内容
sshd服务器使用的默认端口是22,必要时建议修改次端口号,并指定监听服务的具体IP地址,以提升在网络中的隐蔽性。除此以外,SSH协议的版本选用V2比V1的安全
性更要好,禁用DNS反向解析能够提升服务器的响应速度。

[root@localhost ~]# service sshd restart           //从新加载服务才能生效
中止 sshd:                                                [肯定]
正在启动 sshd:                                            [肯定]

二、用户登录控制bash

一般应禁止root用户或密码为空的用户登陆,另外,能够限制登陆验证的时间(默认为2分钟)及最大重试次数,若超过限制后仍未登陆则断开链接。服务器

[root@localhost ~]# vim /etc/ssh/sshd_config
.....//省略部份内容
LoginGraceTime 2m                  //登录验证时间为2分钟
PermitRootLogin yes                //容许root用户登录
#StrictModes yes     
MaxAuthTries 6                     //最大重试次数为6
#MaxSessions 10                    
.....//省略部份内容
PermitEmptyPasswords no            //禁止空密码用户登录
.....//省略部份内容

PermitRootLogin yes是容许root登陆,若是不容许把yes改成no网络

PermitEmptyPasswords no的意思是禁止空密码用户登陆,PasswordAuthentication yes是启用密码验证。app


三、登陆验证方式

对于服务器的远程管理,除了用户帐号的安全控制之外,登录验证的方式也很是重要。sshd服务支持两种验证--密码验证、秘钥对验证,能够设置只使用其中的一种方式,

也能够两种都启用。

[root@localhost ~]# vim /etc/ssh/sshd_config 
.....//省略部份内容
#RSAAuthentication yes                           
PubkeyAuthentication yes                          //启用秘钥对验证
AuthorizedKeysFile      .ssh/authorized_keys      //指定公钥库数据文件
#AuthorizedKeysCommand none
#AuthorizedKeysCommandRunAs nobody
.....//省略部份内容
PasswordAuthentication yes                        //启用密码验证

4若是但愿只容许或禁止某些用户登陆时,可使用AllowUsersDenyUsers,若是只容许某些用户,以下:

[root@localhost ~]# vim /etc/ssh/sshd_config
....//省略部份内容
# Example of overriding settings on a per-user basis
#Match User anoncvs
#       X11Forwarding no
#       AllowTcpForwarding no
#       ForceCommand cvs server
AllowUsers root zhangsan lisi               //添加只容许的用户

五、使用SSH客户端程序

1).程登录:ssh zhangsan@192.168.1.1                    
            whoami                                   //肯定当前用户
            /sbin/ifconfig eth0 | grep "inet addr"   //确认当前主机地址
若是使用了非默认端口号(如2345),则在登录时必须登录经过“-p"选项指定端口号。
默认是22,不安全,能够修改端口:vim etc/ssh/sshd_config
            ssh -p 2345 zhangsan@192.168.1.1

 

2).远程链接到服务器以后,可使用scp远程复制的方法在服务器和客户机之间传递文件。
例如:将远程主机中的/etc/passwd文件复制到本机,并将本机的/etc/vsftpd目录复制到远程主机。
scp root@192.168.1.1:/etc/passwd /root/chen1.txt
scp -r /etc/vsftpd/ root@192.168.1.1:/opt
3).经过sftp命令能够利用SSH安全链接与远程主机上传,下载文件,采用了相似于ftp的方式。
登录服务器:sftp root@192.168.1.1
上传文件:put /boot/config-2.6.32-431.e6.x86
下载文件:get /boot/grub.conf
退出:bye
六、在windows客户端上使用图形工具xshell链接服务器
安装后新建会话,输入用户名和密码便可链接,以下图:

图片1.png


七、构建密钥对验证的SSH体系(这种验证方法更安全)

实验环境:一共两台linux,一台ssh客户机192.168.1.2,另外一台linux服务器192.168.1.1

1)在客户端建立密钥对

执行命令以后一路回车

图片2.png

2)将公钥上传到服务器

图片3.png

3)在服务器中导入公钥文本

图片4.png

4)在客户端使用密钥对验证(验证以前别忘记在sshd主配置文件中容许xiaohong

图片5.png

验证秘钥对

图片6.png

八、配置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

图片7.png


2)vim /etc/hosts.deny

图片8.png

3)在客户端上修改ip192.168.1.200,测试链接失败

图片9.png

4)把客户端的ip改回到192.168.1.2以后,成功链接。

图片10.png

相关文章
相关标签/搜索