远程访问及控制

Posted on 2020-06-17 13:11  留不住的时间  阅读(177)  评论(0编辑  收藏  举报

 

 

 

一:配置服务端

添加测试账号,aaa

1:服务监听选项

[root@localhost ~]# setenforce 0

注意:如果不关闭selinux,不能修改端口号

[root@localhost ~]# vi /etc/ssh/sshd_config

修改

     17 Port 22                 \\监听的端口

     19 ListenAddress 192.168.10.10        \\监听的IP

     23 Protocol 2             \\sshv2版本

    129 UseDNS no          \\禁用dns反向解析

[root@localhost ~]# systemctl restart sshd

客户端登陆验证

linux客户端  

[root@localhost Packages]# ssh root@192.168.10.10

注意:服务端可以修改端口号,但在远程连接时,服务器要关防火墙

[root@localhost ~]# ssh -p 16666 root@192.168.10.10

windows客户端

使用xshell

 

2:用户登录控制

[root@localhost ~]# vi /etc/ssh/sshd_config

修改

     48 LoginGraceTime 2m         \\允许一次登录花费登陆验证的时间

     49 PermitRootLogin no         \\为了后面的实验,不禁用root,在前面加#注释掉

     51 MaxAuthTries 6            \\登陆次数(输错密码的次数)

     78 PermitEmptyPasswords no      \\禁止空密码用户登录

43 #StrictModes yes如果StrictModesyes必需保证存放公钥的文件夹的与登陆用户名是相同的

       AllowUsers zhangsan aaa lisi@192.168.10.20   \\只允许或拒绝时用,添加。lisi只能从10.20登陆

[root@localhost ~]# systemctl restart sshd

客户端登陆验证

[root@localhost ~]# ssh zhangsan@192.168.10.10

注:allowusers会限制你登陆的用户,所以后面试验中所有希望ssh登陆的用户,都要在这里添加,包括密钥对登陆的用户,如果不想限制,可以不用添加该行。

 

二:使用ssh客户端程序

1):客户端的操作

[root@localhost ~]# ssh aaa@192.168.10.10

aaa@192.168.10.10's password:

[aaa@localhost ~]$ ifconfig

[aaa@localhost ~]$ exit

[root@localhost ~]# scp root@192.168.10.10:/etc/passwd /usr/ccc.txt     \\下载,在AllowUsers中添加root

[root@localhost ~]# scp -o port=16666 root@192.168.10.10:/etc/passwd /opt/bbb.txt

root@192.168.10.10's password:

passwd                                        100% 1668     1.6KB/s   00:00    

[root@localhost ~]# scp -r /usr/src/text.html root@192.168.10.10:/usr     \\上传

[root@localhost ~]# scp -P 16666 -r /opt/aaa.txt root@192.168.10.10:/opt/vvv.txt

root@192.168.10.10's password:

text.html                                     100%    0     0.0KB/s   00:00

3)客户端的sftp操作

[root@localhost ~]# sftp aaa@192.168.10.10

Connecting to 192.168.10.10...

aaa@192.168.10.10's password:

sftp> cd /opt

sftp> ls

sftp> put /etc/profile    \\上传到了aaa的宿主目录下,普通用户只能将数据上传到宿主目录,

                        root可以上传到其他地方直接用cd切换目录

Uploading /etc/profile to /home/aaa/profile

/etc/profile                                  100% 1796     1.8KB/s   00:00    

sftp> ls

profile   

sftp> get profile   \\下载,下载到当前位置

sftp> bye

 

注释:如果远程服务器修改了端口号,可用下列方法登录sftp

[root@localhost ~]# sftp -o port=8888 root@192.168.10.101

[root@localhost ~]# sftp -P 8888 root@192.168.10.101

 

4):Xshell工具

打开win2008

安装Xshell

 

注意:

rz命令可以上传文件

sz命令可以下载文件:sz /etc/passwd

如果这个命令不能用,就yum  install lrzsz

 

 

三:构建密钥对验证ssh体系

1服务器端设置登陆验证方式

[root@localhost ~]# vi /etc/ssh/sshd_config

修改(都是默认值,不用修改)

      PasswordAuthentication yes

      PubkeyAuthentication yes

      AuthorizedKeysFile      .ssh/authorized_keys       \\指定公钥数据库

[root@localhost ~]# systemctl restart sshd

 

2:在客户端创建密钥对

[root@localhost ~]# useradd bbb

[root@localhost ~]# passwd bbb

[root@localhost ~]# su bbb

[bbb@localhost root]$ ssh-keygen -t rsa     \\创建密钥

[bbb@localhost root]$ ls -lh ~/.ssh/id_rsa*

-rw-------. 1 bbb bbb 1.7K 12月  3 17:00 /home/bbb/.ssh/id_rsa

-rw-r--r--. 1 bbb bbb  407 12月  3 17:00 /home/bbb/.ssh/id_rsa.pub

3:将公钥文件上传到服务器

[bbb@localhost root]$ scp ~/.ssh/id_rsa.pub root@192.168.10.10:/tmp

4:在服务器中导入公钥文本

[root@localhost ~]# useradd aaa

[root@localhost ~]# passwd aaa

[root@localhost ~]# mkdir -p /home/aaa/.ssh/      \\想登陆谁的账号,就导入到谁里面

[root@localhost ~]# cat /tmp/id_rsa.pub >> /home/aaa/.ssh/authorized_keys

[root@localhost ~]# tail -l /home/aaa/.ssh/authorized_keys

[root@localhost ~]# ls -l /home/aaa/.ssh/authorized_keys

5:在客户端使用密钥对验证

[bbb@localhost root]$ ssh aaa@192.168.10.10   \\在服务器上allowusers中要添加aaa账号

[aaa@localhost ~]$ ifconfig

[aaa@localhost ~]$ ls -l /home/aaa/.ssh/authorized_keys

[aaa@localhost ~]$ tail -l /home/aaa/.ssh/authorized_keys

[aaa@localhost ~]$ exit

四:TCP Wrappers访问控制 (TCP封装)

[root@localhost ~]# ldd /usr/sbin/sshd | grep "libwrap"

libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f7f1d588000)

 

[root@localhost ~]# vi /etc/hosts.allow

添加

sshd:61.63.65.67 192.168.10.*

 

[root@localhost ~]# vi /etc/hosts.deny

添加(大小写不区分)

sshd:ALL