ssh网络协议(服务名sshd,端口22)

目录

前言

配置文件(/etc/ssh/sshd_config)

配置文件内容

自己可以添加的设置:

注意!:

ssh连接登录演示

scp文件传输

登录验证方式

密码验证登录

秘钥验证登录

配置ssh密钥对验证登录

生成密钥对(ssh-keygen -t rsa)



前言

SSH网络协议是一种用于安全远程登录和其他安全网络服务的协议,通过加密和认证机制在不安全的网络环境中提供安全的数据传输通道。SSH支持多种认证方式,包括密码认证和公钥认证。密码认证相对简单,但每次登录都需要输入密码;而公钥认证则可以实现免密登录,安全性更高,广泛应用于各种场合。ssh服务默认端口号为22,服务名称是sshd


配置文件(/etc/ssh/sshd_config)

配置文件内容

打开配置文件 /etc/ssh/sshd_config 后可以看到一些比较重要的设置:

Port 22        端口号为22

LoginGraceTime 2m        登录验证时间为2m

PermitRootLogin no        禁止root用户登录

MaxAuthTries 3        最大登录尝试次数为3次

MaxSessions 10        最大连接数为10

PermitEmptyPasswords no        禁止空密码用户登录

PasswordAuthentication no        禁用密码验证登录

PubkeyAuthentication yes        启用秘钥验证登录


自己可以添加的设置:

AllowUsers s1 s2 s3@192.10.10.5        只允许用户s1、s2和使用IP192.10.10.5的s3用户连接登录

DenyUsers s5 s6@192.87.87.87        禁止用户s5和使用IP192.87.87.87的用户s6连接登录

AllowUsers 和 DenyUsers不能同时使用!!!


注意!:

在使用ssh前,服务机需要启用sshd服务        systemctl start sshd

关闭宽容模式        setenforce 0

关闭防火墙        systemctl stop firewalld

每次修改配置文件后都要重启服务        systemctl restart sshd


ssh连接登录演示

(演示:kali做客户机、centos7做服务机)

在kali中登录centos的stu1用户 : ssh stu1@192.168.189.111

此时可以操作stu1用户的目录和文件,切换到其他目录,修改重要文件。

可以通过修改服务机sshd服务的配置文件限制客户机权限。

192.168.189.111是服务机的IP地址

exit  退出登录:


如果服务机修改了端口号,比如·改为了666,则命令应该是:

ssh -p 666 stu1@192.168.189.111


在window上也是一样的操作


scp文件传输

scp命令是一个基于SSH协议的实用程序,用于在本地和远程主机之间安全地复制文件和目录。scp命令通过加密传输数据,确保数据在不安全的网络环境中的安全性和完整性。它不仅支持文件的上传和下载,还能复制整个目录,并保留文件属性。

将远程主机ceshi目录下的qq.txt文件复制到本机当前目录下的benji目录下:

scp root@192.168.100.2:/ceshi/qq.txt   ./benji

将本地etc目录下的passwd文件复制到远程主机的xinxi目录下

scp /etc/shadow root@192.168.100.2:/xinxi

如果要复制整个目录包括目录下的所有文件,可以在scp后面加上-r


登录验证方式

密码验证登录

密码验证登录,通过使用自动生成的公钥-私钥对,来加密网络连接,然后使用密码进行认证。具体过程如下:客户端发送登录请求并接收服务器的公钥;输入密码后,密码被公钥加密并传输到服务器;服务器使用私钥解密并验证密码是否正确。如果验证成功,则建立连接。这种方法相对简单,但安全性较低,因为密码可能在网络上被截获,且易受到暴力破解攻击。

秘钥验证登录

密钥验证登录更为安全,它通过一对公钥和私钥来进行身份认证。客户端生成密钥对,将公钥存储在服务器上,私钥存储在客户机;连接时,服务器生成随机字符串并用客户端公钥加密,客户端使用私钥解密后返回结果,服务器比对成功后即允许登录。这种方式避免了密码在网络上的传输,从而显著提高了安全性。然而,配置过程较为复杂。当密码验证与密钥对验证都启用时,服务器会优先使用密钥对验证。对于安全性要求较高的服务器,建议将密码验证方式禁用, 启用密钥对验证方式。


配置ssh密钥对验证登录

生成密钥对(ssh-keygen -t rsa)

在客户端生成密钥对,可以看到私钥和秘钥的存储位置为:/root/.ssh/目录下面,即当前用户的

进入到用户家目录,查询所有文件,即可看到.ssh目录:

私钥默认生成在当前用户家目录中,可以不管;

需要将公钥id_rsa.pub改名为authorized_keys,然后上传到服务器(想要登录的用户的家目录的.ssh目录下):

mv id_rsa.pub  authorized_keys

scp ./authorized_keys root@192.168.100.2:~/.ssh

这时,公钥authorized_keys在服务端的家目录的.ssh文件夹里

私钥id_rsa在客户端本机的家目录的.ssh文件夹里

关闭密码验证登录,打开秘钥验证登录,就可以用秘钥登录远程主机了:

可以看到,在秘钥验证登录时,可以直接登录进去。

秘钥验证登录相对于密码验证登陆来说,既安全,又快捷方便。


在windows中也是一样的,只需要将公钥上传到windows即可,使用finalshell连接linux:



  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值