Linux中的sshd服务和sshkey加密

简介:

一.openssh-server

openssh-server

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

客户端连接方式
ssh    远程主机用户@远程主机ip
[root@desktop0 ~]# ssh root@172.25.254.128
The authenticity of host '172.25.254.128 ' 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.254.128' (ECDSA) to the list of known hosts.
root@172.25.254.128's password:                 远程用户密码
Last login: Mon Oct  3 03:13:00 2016
[root@server ~]#                    登陆成功


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

二.sshkey加密

1.生成公钥私钥
[root@server ~]# 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:                        
ab:3c:73:2e:c8:0b:75:c8:39:3a:46:a2:22:34:84:81 root@server0.example.com
The key's randomart image is:
+--[ RSA 2048]----+
|o                |
|E.               |
|..               |
|.  . o           |
|.o. * . S        |
|oo.o o   .       |
|+ =. .  .        |
|o. oo.+..        |
|    ..o*.        |
+-----------------+
[root@server ~]# ls /root/.ssh/
id_rsa  id_rsa.pub
id_rsa               私钥,就是钥匙
id_rsa.pub       公钥,就是锁

wKioL1lyBSXQ_MqWAADbRkYQ8Aw573.png2.添加key认证方式
[root@server ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub  root@172.25.254.128
ssh-copy-id         添加key认证方式的工具
-i                           指定加密key文件
/root/.ssh/id_rsa.pub     加密key
root                       加密用户为root
172.25.0.11         被加密主机ip

wKioL1lyBpngsn0yAADUM_XMfXU134.png


3.分发钥匙给client主机
[root@server0 ~]# scp /root/.ssh/id_rsa root@172.25.254.228:/root/.ssh/


wKiom1lyBeOzMaSPAADRV8Vg698047.png


4.测试

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


wKiom1lyB1rTjM1CAAC56vK0k54824.png



三.提升openssh的安全级别

1.openssh-server配置文件

/etc/ssh/sshd_config,安全配置在此配置文件完成

78 PasswordAuthentication yes|no         是否开启用户密码认证,yes为支持no为关闭

wKioL1lyDPDCenWUAAAovlHxGKQ490.png                    


wKioL1lyDkfglLp8AABr_51QnRk906.png 

48 PermitRootLogin yes|no                      是否允许超级用户登陆

wKiom1lyD2uSLQykAAAstR5xNtA174.png

wKioL1lyD2yS3li7AAAl1GJnuoY085.png


49 AllowUsers student tom               用户白名单,只有在名单中出现的用户可以使用sshd建立shell
50 DenyUsers tom                             用户黑名单

wKiom1lyEVDT4GenAAA1xME8ZsM606.png

wKiom1lyESCxacoyAABnqfnq8yg873.png


2.控制ssh客户端访问
vim /etc/hosts.deny
sshd:ALL            拒绝所有人链接sshd服务

wKioL1lyEmiBnOd1AABh_27vwgI866.png
vim /etc/hosts.allow
sshd:172.25.254.250     允许250主机链接sshd

wKiom1lyEwXTbp5VAAGumeKCE9A672.png

sshd:ALL EXCEPT 172.25.254.250         只不允许250链接sshd

wKioL1lyE6ygtMf-AAAzfI4d1qs616.png

3.ssh登陆提示修改该
vim /etc/motd         显示登陆后字符,主要用于服务器标示

wKioL1lyFXTRxaU6AAA1Oc1kufQ030.png



      本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1949549,如需转载请自行联系原作者








相关文章
|
17天前
|
Linux 数据安全/隐私保护 Windows
aes加密在linux下会生成随机key的解决办法
aes加密在linux下会生成随机key的解决办法
11 2
|
1月前
|
Linux Shell Windows
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
通过Linux挂载Windows端NFS服务实现板端Linux传输文件到PC
|
1月前
|
运维 Linux Apache
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
Linux Apache服务详解——Apache虚拟目录与禁止显示目录列表实战
22 2
|
2天前
|
存储 关系型数据库 MySQL
Linux服务详解
Linux服务详解
15 0
|
3天前
|
网络协议 Ubuntu Linux
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
Linux 下 TFTP 服务搭建及 U-Boot 中使用 tftp 命令实现文件下载
|
20天前
|
Linux
linux中服务管理
在Linux服务管理中,从传统的System V init到Upstart,再到广泛采用的systemd,管理方式不断发展。systemd以其强大的功能和依赖解决成为现代Linux的核心。`systemctl`是管理服务的关键命令,如启动(`start`)、停止(`stop`)、重启(`restart`)服务及设置开机启动(`enable`)或取消(`disable`)。了解和服务管理,特别是systemd和`systemctl`的使用,对系统管理员至关重要。其他如xinetd用于控制网络服务,而特定环境下有OpenRC等工具。
17 2
|
27天前
|
Shell Linux C语言
【Shell 命令集合 系统设置 】Linux 管理系统服务 ntsysv命令 使用指南
【Shell 命令集合 系统设置 】Linux 管理系统服务 ntsysv命令 使用指南
27 0
|
27天前
|
存储 Shell Linux
【Shell 命令集合 系统设置 】Linux 管理系统服务 chkconfig命令 使用指南
【Shell 命令集合 系统设置 】Linux 管理系统服务 chkconfig命令 使用指南
27 0
|
28天前
|
安全 小程序 Java
java实现微信服务(公众)号用户关注时,获取openid,安全模式下的加密解密实现
java实现微信服务(公众)号用户关注时,获取openid,安全模式下的加密解密实现
17 0
|
1月前
|
存储 Linux
Linux Autofs自动挂载服务详解
Linux Autofs自动挂载服务详解
13 0