Linux openssh-server ssh-key加密 访问控制详解 sshd访问控制


openssh-server

1).openssh-server

功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell

2).客户端连接方式

ssh    远程主机用户@远程主机ip


[root@foudation8 ~]# ssh [email protected]
The authenticity of host '172.25.0.11 (172.25.0.11)' can't be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes                ##连接陌生主机时需要建立认证关系
Warning: Permanently added '172.25.0.11' (ECDSA) to the list of known hosts.
[email protected]'s password:                                                               ##远程用户密码
Last login: Mon Oct  3 03:13:47 2016
[root@localhost ~]#                                                                                     ##登陆成功
 

ssh 远程主机用户@远程主机ip -X                ##调用远程主机图形工具
ssh     远程主机用户@远程主机ip        command        ##直接在远程主机运行某条命令


Linux openssh-server ssh-key加密 访问控制详解 sshd访问控制_第1张图片

Linux openssh-server ssh-key加密 访问控制详解 sshd访问控制_第2张图片

3).sshkey加密

a).生成公钥私钥

ssh-keygen         ##生成公钥私钥工具

[root@desktop108 ~]# ssh-keygen    
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):[enter]     ##加密字符保存文件(建议用默认)
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):         [enter]        ##密钥密码,必须>4个字符
Enter same passphrase again:                 [enter]        ##确认密码
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:                        
ba:ad:e8:9c:3f:cb:da:28:56:44:87:96:0f:7c:70:bf [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|o                |
|E.               |
|..               |
|.  . o           |
|.o. * . S        |
|oo.o o   .       |
|+ =. .  .        |
|o. oo.+..        |
|    ..o*.        |
+-----------------+

Linux openssh-server ssh-key加密 访问控制详解 sshd访问控制_第3张图片

 

生成文件如下:

[root@desktop108~]# ls /root/.ssh/

id_rsa  id_rsa.pub
id_rsa        ##私钥,就是钥匙 ,钥匙给谁谁就可以用来打开自己家的大门
id_rsa.pub    ##公钥,就是锁 ,谁家用了我的锁我就可以开谁家的门

在A主机上执行ssh-keygen ,如果A需要免密连接B,需要将id_rsa.pub写到远程主机B ~/.ssh/authorized_key文件中,如果需要B连接A,则将A的id_rsa 拷贝到B中即可

 

 

b).添加key认证方式 -----本机免密连接远程机器

ssh-copy-id -i /root/.ssh/id_rsa.pub  [email protected]
    ##将id_rsa.pub写到远程主机 ~/.ssh/authorized_key文件中

ssh-copy-id        ##添加key认证方式的工具
-i            ##指定加密key文件
/root/.ssh/id_rsa.pub    ##加密key
root            ##加密用户为root
172.25.254.108        ##被加密主机ip


Linux openssh-server ssh-key加密 访问控制详解 sshd访问控制_第4张图片
c).分发私钥发给client主机  ------远程机器免密连接本机

[root@desktop108 ~]# scp /root/.ssh/id_rsa [email protected]:/root/.ssh/


4).测试

[root@server208~]# ssh [email protected]       ##通过id_rsa直接连接不需要输入用户密码
Last login: Mon Oct  3 03:58:10 2016 from 172.25.254.8
[root@server208~]#

4.提升openssh的安全级别
1).openssh-server配置文件
/etc/ssh/sshd_config
78 PasswordAuthentication yes|no        ##是否开启用户密码认证,yes为支持no为关闭
48 PermitRootLogin yes|no            ##是否允许超级用户登陆
49 AllowUsers student westos            ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell
50 DenyUsers westos                ##用户黑名单

 

首先,我们编辑/etc/ssh/sshd_config,将78行用户密码认证的权限改为no,然后用另一个用户登陆desktop168,会发现ip为168的主机不允许登陆

 

然后在desktop108开启密码认证权限,设置第48行不允许超级用户登陆,并在49行添加允许普通用户student登陆,用server124测试登陆

vim /etc/ssh/sshd_config

systemctl restart sshd

在密码没有错误的前提下,系统不会允许超级用户root登陆,但会允许普通用户student登陆

Linux openssh-server ssh-key加密 访问控制详解 sshd访问控制_第5张图片

 

2).控制ssh客户端访问

vim  /etc/hosts.deny

sshd:ALL        ##拒绝所有人链接sshd服务

Linux openssh-server ssh-key加密 访问控制详解 sshd访问控制_第6张图片

vim  /etc/hosts.allow

sshd:172.25.254.124    ##允许250主机链接sshd
sshd:172.25.254.124, 172.25.254.68    ##允许250和180链接
sshd:ALL EXCEPT 172.25.254.124        ##只不允许200链接sshd


3).ssh登陆提示修改该
vim /etc/motd        ##显示登陆后字符

 

 

hello world        ##在登陆后就会显示这个字

Linux openssh-server ssh-key加密 访问控制详解 sshd访问控制_第7张图片

你可能感兴趣的:(linux)