24SSH服务

SSH服务

SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、"远程复制"等功能。SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH为建立在应用层和传输层基础上的安全协议。
SSH客户端到SSH服务端:数据传输是加密的,可以防止信息泄漏,数据传输是压缩的,可以提高传输速度。

SSH客户端:Putty、Xshell、CRT、MobaXterm、FinalShell
SSH服务端:OpenSSH
OpenSSH是实现SSH协议的开源软件项目,适用于各种UNIX、Linux操作系统。
Centos7系统默认已安装openssh相关软件包,并将sshd服务添加为开机自启动
执行"systemctl start sshd"命令即可启动sshd服务
sshd服务默认使用的是TcP的22端口,安全协议版本sshv2,出来2之外还有1(有漏洞)
sshd服务的默认配置文件是/etc/ssh/sshd config
ssh config和sshd config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件。

netstat -natp#查看运行端口systemctl status sshd#查看SSHD状态

24SSH服务_第1张图片

ssh服务端主要包括两个服务功能ssh远程链接和sftp服务
作用:SSHD服务使用SSH协议可以用来进行远程控制,或在计算机之间传送文件。相比较之前用Telnet方式来传输文件要安全很多,因为Telnet使用明文传输,SSH是加密传输。
服务名称:sshd
服务端主程序:/usr/sbin/sshd
服务端配置文件:/etc/ssh/sshd config

ssh远程登录方式

登录方法一:
ssh[远程主机用户名]@[远程服务器主机名或IP地址] -p port
当在Linux主机上远程连接另一台Linux主机时,如当前所登录的用户是root的话,当连接另一台主机时也是用root用户登录时,可以直接使用ssh@端口默认即可,如果端口不是默认的情况下,需要使用 -p 指定端口。RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分
解却极其困难,因此可以将乘积公开作为加密密钥。

24SSH服务_第2张图片

登录方法二
ssh -l [ 远程主机用户名 ] [ 远程服务器主机名或IP地址]-p port
-l:指定登录名称。
-p:指定登录端口(当服务端的端口非默认时,需要使用-p指定端口进行登录)
注:第一次登录服务器时系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否继续连接,输入ys
后登录,这时系统会将远程服务器信息写入用户主目录下的$HoME/.ssh/known hosts文件中,下次再进行登录时因为保存有该主
机信息就不会再提示了

sshd服务支持两种验证方式

1,.密码验证:对服务器中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便,但从客户端角度来看,正在连接的服务器有可能被假冒;从服务器角度来看,当遭遇密码穷举(暴力破解)攻击时防御能力比较弱。
2.密钥对验证:要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,大大增强了远程管理的安全性。该方式不易被假冒,且可以免交互登录,在She11中被广泛使用。
当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。对于安全性要求较高的服务器,建议将密码验证方式禁用,只允许启用密钥对验证方式:若没有特殊要求,则两种方式都可启用。
免密登录
ssh-agent bash#将公钥添加管理(在客户端操作)
ssh-add

构建密钥对验证的SSH

1.公钥和私钥的关系:在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的。公钥用来给数据加密,用公钥加密的数据只能使用私钥解。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LjfejXeC-1655963835321)(https://skylarw.oss-cn-nanjing.aliyuncs.com/image-20220620115558809.png)]

构建密钥对验证的SSH原理

首先ssh通过加密算法在客户端产生密钥对(公钥和私钥),公钥发送给服务器端,自己保留私钥,如果要想连接到带有公钥的SSH服务器,客户端SSH软件就会向SSH服务器发出请求,请求用联机的用户密钥进行安全验证。SSH服务器收到请求之后,会先在该SSH服务器上连接的用户的家目录下寻找事先放上去的对应用户的公用密钥,然后把它和连接的SSH客户端发送过来的公用密钥进行
比较。如果两个密钥一致,SSH服务器就用公钥加密"质询"(challenge)并把它发送给SSH客户端。
当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。可根据实际情况设置验证方式。vim/etc/ssh/sshd config
PasswordAuthentication yes
#启用密码验证
PubkeyAuthentication yes
#启用密钥对验证
AuthorizedKeysFile .ssh/authorized keys
#指定公钥库文件

scp复制

安全性复制
scp:scp是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,而且scp传输是加密的。
1.###本地文件复制到服务器
scp sheng root @ 192.168.100.141:/opt
2.####复制服务器的文件到本地
scp root @ 192.168.100.141:/opt/test/ ./
3.####本地目录复制到服务器
scp -r 1234/ [email protected]:/op

0.141:/opt/test/ ./
3.####本地目录复制到服务器
scp -r 1234/ [email protected]:/op

你可能感兴趣的:(服务器,linux,网络)