ssh远程登录与策略设置

telnet方式远程登录

服务器端:

1、安装telnet服务

挂载镜像,使用rpm安装

ssh远程登录与策略设置_第1张图片

先安装依赖包

ssh远程登录与策略设置_第2张图片

ssh远程登录与策略设置_第3张图片

2、修改telnet配置文件

ssh远程登录与策略设置_第4张图片不禁用

3、启动telnet

ssh远程登录与策略设置_第5张图片

4、创建普通用户

ssh远程登录与策略设置_第6张图片

客户端:

1、客户端安装telnet

挂载镜像,使用rpm安装

ssh远程登录与策略设置_第7张图片

2、登录

ssh远程登录与策略设置_第8张图片

已经登录到zhangsan的shell,并且可以切换至root账户

但是telnet方式的账户密码使用明文传输,极为不安全

Wireshark抓包

 

shell方式远程登录

1、为客户机提供安全的Shell环境,用于远程管理

默认端口:TCP 22

①OpenSSH

服务名称:sshd

服务端主程序:/usr/sbin/sshd

服务端配置文件:/etc/ssh/sshd_config

②用户登录控制

vi /etc/ssh/sshd_config

……

PermitRootLogin no                                 禁止root用户

PermitEmptyPasswords no                    空密码用户

LoginGraceTime 2m                                 登录时间

MaxAuthTries 6                                         重试次数

……

③登录验证对象

服务器中的本地用户账号

登录验证方式

密码验证:核对用户名、密码是否匹配

密钥对验证:核对客户的私钥、服务端公钥是否匹配

vi /etc/ssh/sshd_config

……

PasswordAuthentication  yes                                   密码验证

PubkeyAuthentication  yes                                        公钥验证方式

AuthorizedKeysFile  .ssh/authorized_keys     

④ssh命令  

ssh命令 —— 远程安全登录

格式:ssh  user@host

scp命令 —— 远程安全复制

格式1:scp  user@host:file1  file2

格式2:scp  file1  user@host:file2

sftp命令 —— 安全FTP上下载

格式:sftp  user@host

 

  • 实验——:使用ssh登录:

实验环境:两台linux主机,处于同一网段

1、服务器端开启sshd服务

创建一个用户,例如zhangsan

2、客户机端使用

  • 实验——用户登录控制:

以下配置策略皆修改配置文件/etc/ssh/sshd_config即可

运行端口

①修改sshd服务于运行端口

Ssh服务默认运行在22端口上,可以去去掉注释,修改默认值,修改为任意

ssh远程登录与策略设置_第9张图片

②重启sshd服务

查看运行端口

③客户端尝试登录

此时未指定端口的连接被拒绝

指定端口

限制root登录

应禁止客户端通过ssh登录

因此应限制root用户登录

①服务器端修改权限,修改如下

ssh远程登录与策略设置_第10张图片

②重启服务

③客户端尝试切换至root

ssh远程登录与策略设置_第11张图片

此时,已无法通过root远程登录root账户,但是仍可以通过普通用户切换至root

 

实验——:构建密钥对验证:

实验环境:两台linux主机,处于同一网段,服务器ssh运行端口已修改为3333

实验过程:

1.由客户端的用户alice在本地创建密钥对

私钥文件:id_rsa  公钥文件:id_rsa.pub

创建用户alice

ssh远程登录与策略设置_第12张图片

登录alice的shell,执行命令 ssh-keygen -t rsa

ssh远程登录与策略设置_第13张图片

可以看到公私钥对已生成

ssh远程登录与策略设置_第14张图片

2.在SSH服务端,创建bob用户,创建.ssh目录

useradd  bob

passwd  bob

ssh远程登录与策略设置_第15张图片

su  -  bob

mkdir  .ssh

chmod  700  .ssh

2.客户机上传公钥文件 id_rsa.pub

su – alice

scp  ~/.ssh/id_rsa.pub lisi@SSH ServerIP:/home/lisi/.ssh/id_rsa_zhangsan.pub

3.在SSH服务端导入公钥信息

ssh远程登录与策略设置_第16张图片

 生成公钥库文件:/home/bob/.ssh/authorized_keys

修改文件权限域alice公钥文件与客户端Alice公钥文件权限相同

ssh远程登录与策略设置_第17张图片

4.使用密钥对验证方式,登录服务器

1)禁用SSH服务端的密码认证启用公钥认证

vim  /etc/ssh/sshd_config

...

PasswordAuthentication  no

PubkeyAuthentication  yes

AuthorizedKeysFile  .ssh/authorized_keys

保存、退出

ssh远程登录与策略设置_第18张图片

ssh远程登录与策略设置_第19张图片

service  sshd  restart

ssh远程登录与策略设置_第20张图片

2)使用密钥对验证方式,登录服务器

在ssh客户端执行登录

su  -  alice

ssh  bob@SSH ServerIP

这里指定端口,是因为之前修改了服务器ssh运行端口

  • TCP Wrappers

访问控制策略的配置文件(对于通过xinted程序启动的服务,通过对/etc/hosts.allow/etc/hosts.deny的配置,设置允许和禁止访问的IP)

查看是否支持Tcp Wrap功能(通过以下命令,输出结果中有libwrap,则该服务可以使用tcp_wrappers,否则则不能使用)

ldd /usr/sbin/sshd | grep "libwrap"

ldd /usr/sbin/vsftpd | grep "libwrap"

或者

ldd `which vsftpd` | grep wrap

ssh远程登录与策略设置_第21张图片

1、设置访问控制策略

策略格式:服务列表:客户机地址列表

服务列表 ——

多个服务以逗号分隔,ALL 表示所有服务

客户机地址列表

多个地址以逗号分隔,ALL表示所有地址

允许使用通配符 ? 和 *

网段地址,如 192.168.4.  或者 192.168.4.0/255.255.255.0

区域地址,如 .test.com

2、策略的应用顺序

先检查hosts.allow,找到匹配则允许访问

否则再检查hosts.deny,找到则拒绝访问

若两个文件中均无匹配策略,则默认允许访问

3、策略应用示例

仅允许从以下地址访问sshd服务

主机192.168.222.129

网段192.168.222.0/24

禁止其他所有地址访问受保护的服务

①修改配置文件

vi /etc/hosts.allow

sshd:61.63.65.67,192.168.2.*

ssh远程登录与策略设置_第22张图片

vi /etc/hosts.deny

sshd:ALL

ssh远程登录与策略设置_第23张图片

②服务器重启xinted和network

ssh远程登录与策略设置_第24张图片

③客户端尝试登陆

ssh远程登录与策略设置_第25张图片

  • Kali下的SSH爆破工具:

1.hydra(九头蛇)工具

1)使用已知用户,进行密码爆破

hydra -l zhangsan -P /root/passwd.txt ssh://192.168.10.1

ssh远程登录与策略设置_第26张图片

ssh远程登录与策略设置_第27张图片

2)使用已知密码,进行用户爆破

hydra -L /root/user.txt -p 123.com ssh://192.168.10.1

ssh远程登录与策略设置_第28张图片

ssh远程登录与策略设置_第29张图片

3)使用用户字典、密码字典,对多个目标主机进行爆破

hydra -L /root/user.txt -P /root/passwd.txt -M /root/hosts.txt ssh

ssh远程登录与策略设置_第30张图片

2.meduda(美杜莎)工具

1)使用已知用户,进行密码爆破

medusa -h 192.168.232.138 -u zhangsan -P /root/passwd.txt -M ssh

ssh远程登录与策略设置_第31张图片

2)使用已知密码,进行用户爆破

medusa -h 192.168.232.138 -U /root/user.txt -p 123.com -M ssh

ssh远程登录与策略设置_第32张图片

3)使用用户字典、密码字典,对多个目标主机进行爆破

medusa -H /root/hosts.txt -U /root/user.txt -P /root/passwd.txt -M ssh

 

你可能感兴趣的:(ssh远程登录与策略设置)