默认情况下,SSH使用22端口。为了安全,一般情况下都会修改默认端口。
修改22为其它的端口号,从而修改了我们的监听端口
注意:修改之后必须重新启动SSH服务,这样才能使得我们的配置文件,在重启的过程中,重新加载,从而生效。
开启ubuntu的ssh服务功能,在kali当中进行探测
nc 192.168.0.104 22
在ubuntu当中,修改端口号
cd /etc/ssh/
ls
sudo gedit sshd_config
2222
service ssh restart
service ssh status
netstat -pantu
nc 192.168.0.104 22
nc 192,168.0.104 2222
修改默认端口的作用,使得我们不可以直接使用22号端口连接,需要进一步探测,探测出ssh监听的端口,才能进行对应的连接
默认情况下,SSH使用用户名和密码进行远程登录这个过程,会造成暴力破解,不断尝试用户名和密码,从而登录到系统中,为了防止这一过程的出现,通过putty这个软件,来生成对应的私钥,对私钥进行配置,进行身份验证,使得我们不经过用户密码进行登录,更加安全,防止暴力破解
生成SSH密钥对,使用puttygen。
下载链接:https://www.chiark.greenend.org/~sgtatham/putty/latest.html
点击Generate进行生成私钥
点击save private key,就会在桌面生成.ppk,这个名字也可以自己命名
使用ssh-keygen命令在Linux生成.ssh目录,在.ssh下新建密钥存储文件authorized_keys,并复制私钥文件到.ssh目录下。使用命令puttygen -L “拷贝私钥文件”,将内容拷贝到authorized_keys文件中。
ssh-keygen
这个时候就会在/home/liuxiaoyang/下生成隐藏目录.ssh,切换到.ssh,新建目录authorized_keys
使用Putty客户端加载私钥文件进行连接。
点击auth
加载之后,我们在连接中,就不需要输入对应的连接密码,只需要在Data中输入用户名
cd ~
pwd
ls -alh
cd .ssh/
ls
puttygen -L private.ppk
gedit authorized_keys
将内容粘添到这里,进行保存,保存完之后,我们就拥有了一个aythorized_keys文件
这个时候,我们就可以在windows下,或者其它系统下安装ppy,在客户端软件下,连接ssh,使用的是PGP连接
设置pgp是为了防止暴力破解,但我们依然可以使用账号密码登录
在linux下可以配置不能使用用户名和密码登录,只使用SSH PGP方式验证登录。规避了SSH暴力破解。
出现问题:不能使用用户密码登录,很大程度上存在复杂操作。
比如说,我们当前系统有很多管理员,不能使用用户名密码登录后,每个人都需要PPT文件,才能进行登录,会是很大的工作和操作
cd /etc/ssh/
sudo gedit sshd_config
service ssh restart
service ssh status
下面,我们在kali当中使用用户名密码登录,来进行验证
ssh liuxiaoyang@192.168.0.104
ssh liuxiaoyang@192.168.0.104 -p 2222
因为我们本身就不能登录,所以暴力破解的软件,就失效了
用iptables防火墙来防止暴力破解,我们可以设置对应的阈值,我们尝试登录三次之后,就锁定登录,使得他无法登录
利用Iptables对多次连接验证错误,进行账户锁定120秒。
sudo iptables -l INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
sudo iptables -l INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 120 --hitcount 3 -j DROP
在设置完之后,需要重新启动SSH服务。
service ssh restart
我们可以设置更长的时间,一天只能尝试三个组合,一年只能尝试一千个组合,我们密码设置复杂的情况下,暴力破解也是一个很慢的情况,暴力破解就无法生效,或者说,耗费的精力比较大,几十年,可能是几万年,才能将目前的字典,猜解完