linux基础篇(四):基于Redhat7系统的sshd服务
SSHD 服务简介
ssh 协议:安全外壳协议。为 Secureshell 的缩写。SSH 为建立在应用层和传输层基础上的安全协议。
sshd 服务使用 SSH 协议可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如 telnet(终端仿真协议)都是极为不安全的,并且会使用明文传送密码。
OpenSSH 软件包,提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。
sshd默认服务端口号:22
openssh
客户端:server1(172.25.66.11)
服务端:server2(172.25.66.12)
当主机中开启openssh服务,那么就对外开放了远程连接的接口
#openssh服务的服务端 (服务端打开sshd服务)
sshd
#openssh服务的客户端(客户端使用ssh命令连接服务端)
ssh
客户端连接服务端的方式
ssh 服务端用户@服务端ip地址/主机名(需要做主机名解析)
给ssh服务添加新的认证方式 KEY认证
生成锁和钥匙(在服务端server2)
[[email protected] ~]# ssh-****** ##生成**的命令
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #保存加密字符的>文件用默认
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): #可以为空,如果想为空必>须大于4位
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa. ##私钥
Your public key has been saved in /root/.ssh/id_rsa.pub. ##公钥
The key fingerprint is:
00:4f:b0:72:40:9f:a6:fb:91:86:d2:69:bc:7c:75:5f [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| .o o.. |
| o * |
| . * o |
| = . |
| . S |
| o + .. . E |
|. B +. . . . |
| + +.. . |
| o.. |
+-----------------+
执行命令后 ls查看/root/.ssh/目录,目录下会出现私钥和公钥
加密ssh用户的认证
在服务端
ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]
sh-copy-id ##加密命令
-i ##指定**
/root/.ssh/id_rsa.pub ##**
root ##加密用户
172.25.66.12 ##服务端(本机)主机IP
验证
解密文件传输到客户端
scp /root/.ssh/id_rsa [email protected]:/root/.ssh/
在客户端
ssh [email protected] #连接不需要密码
在服务端
rm -fr /root/.ssh/authorized_keys ##当此文件被删除,客户端解密文件失效,客户端将无法免密连接服务端
使用客户端连接服务端将无法直接连接
在服务端
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys ##从新生成锁文件,解密文件功能恢复
在次使用客户端连接服务端即可免密连接
sshd的安全配置
配置文件:/etc/ssh/sshd_config
78 PasswordAuthentication no|yes ##开启或关闭ssh的默认认证方式
48 PermitRootLogin no|yes ##开启或关闭root用户的登陆权限
79 AllowUsers westos ##用户白名单,当前设定是只允许westos登陆
80 DenyUsers linux ##用户黑名单,当前设定是只不允许linux登>陆