SSH服务
文章目录
1.概念
SSH(Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能
SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令,SSH为建立在应用层和传输层基础上的安全协议
作用:
数据传输是加密的,可以防止信息泄露
数据传输时压缩的,可以提高传输速度
SSH客户端:Xshell、Putty、CRT、MobaXterm、Finalshell
SSH服务端:OpenSSH
centos 7 系统默认已安装OpenSSH相关软件包,并将SSHD服务添加为开机自启动
SSHD服务默认使用的是TCP的22端口
SSHD服务的默认配置文件时 /etc/ssh/sshd_config
ssh_config 和 sshd_config 都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者是针对服务端的配置文件
ssh服务端主要包括两个服务功能:ssh远程链接 和 sftp服务
作用:SSHD 服务使用 SSH 协议可以用来进行远程控制,或在计算机之间传送文件。
相较之前用 Telnet 方式来传输文件要安全很多,因为 Talnet 使用明文传输,SSH 是加密传输
服务名称:sshd
服务端主程序: /usr/sbin/sshd
服务端配置文件:/etc/ssh/sshd_config
2.SSH远程登录方式
1)方法一
ssh [远程主机用户名] @[远程服务器主机名或IP地址] -p port(端口号,不写端口号的话默认是 22 )
当在 Linux 主机上远程连接另一台 Linux 主机时,如当前所登录的用户是 root 的话,当连接另一台主机时也是用 root 用户登录时,可以直接使用 ssh IP,端口默认即可,如果端口不是默认的情况下,需要使用 -p 指定端口
开启两台虚拟机,IP分别为 192.168.39.131 和 192.168.36.129
在131主机上输入
[root@localhost ~]# ssh root@192.168.36.129
选择yes
输入密码后(ssh会把每个你访问过计算机的公钥都记录在 ~/.ssh/known_hosts),可以看到主机名变成了129主机的名字
尝试在/opt目录下创建文件,并在129主机上查看文件已经存在
退出时输入exit 或者 ctrl+d
如果要通过主机名登录的话,可以尝试修改配置文件
[root@localhost ~]# vim /etc/hosts
添加 192.168.36.129 liwenbin
就可以通过主机名登录
2)方法二
ssh -l [远程主机名称] [远程服务器主机名或IP地址] -p port
-l :指定登录名称
-p : 指定登录端口(当服务器的端口非默认时,需要使用 -p 指定端口进行登录)
3.SSHD服务支持两种验证方式
1)密码验证
对服务器中本地系统用户的登录名称、密码进行验证。这种方式使用最为简便,但从客户端角度来看,正在连接的服务器有可能被假冒;从服务器角度来看,当遭遇密码穷举(暴力破解)攻击时防御能力比较弱。
2)密钥对验证
要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证,大大增强了远程管理的安全性。该方式不易被假冒,且可以免交互登录,在shell 中被广泛使用。
4.公钥和私钥的关系:
1)解释
●在非对称加密技术中,有两种密钥,分为私钥和公钥,私钥是密钥对所有者持有,不可公布,公钥是密钥对持有者公布给他人的
●公钥用来给数据加密,用公钥加密的数据只能使用私钥解
2)构建密钥对验证的SSH原理
首先ssh通过加密算法在客户端产生密钥对(公钥和私钥),公钥发送给服务器端,自己保留私钥,如果要想连接到带有公钥的ssh服务器,客户端ssh软件就会向ssh服务器发出请求,请求用联机的用户密钥进行安全验证。ssh服务器收到请求之后,会先在该ssh服务器上连接的用户的家目录下寻找事先放上去的对应用户的公用密钥,然后把它和连接的ssh客户端发送过来的公用密钥进行比较。如果两个密钥一致,ssh服务器就用公钥加密"质询" (challenge)并把它发送给ssh客户端。
5.scp复制
scp: scpsecure copy的简写,用于在Linux下进行远程拷贝文件的命令,而且scp传输是加密的。
① 本地文件复制到服务器
scp 1.txt root@192.168.36.129:/opt
② 复制服务器的文件到本地
scp root@192.168.36.129:/opt/2.txt /opt
③ 本地目录复制到服务器
scp -r shigemulu root@192.168.36.129:/opt