sshd服务提供两种安全验证的方法:

基于口令的安全验证:经过验证帐号与密码即可登陆到远程主机。

基于密钥的安全验证:需要在本地生成”密钥对“后将公钥传送至服务端,进行公共密钥的比较(相对安全)。

首先:无论通过哪一种安全验证方法进行远程控制都需要配置远程主机sshd服务的文件:

[root@lhbza ~]#vim /etc/ssh/sshd_config

并且在远程主机上启动sshd服务并加入到开机启动项:

[root@lhbza ~]# systemctl start sshd

[root@hbza ~]# systemctl enable sshd

sshd服务的配置文件解析:

参数

作用

#Port 22

默认的sshd服务端口。

#ListenAddress 0.0.0.0

设定sshd服务端监听的IP地址。

#Protocol 2

SSH协议的版本号。

#HostKey /etc/ssh/ssh_host_key

SSH协议版本为1时,私钥存放的位置。

HostKey /etc/ssh/ssh_host_rsa_key

SSH协议版本为2时,RSA私钥存放的位置。

#HostKey /etc/ssh/ssh_host_dsa_key

SSH协议版本为2时,DSA私钥存放的位置。

#PermitRootLogin yes

设定是否允许root用户直接登录。

#StrictModes yes

当远程用户私钥改变时则直接拒绝连接。

#MaxAuthTries 6

最大密码尝试次数

#MaxSessions 10

最大终端数

#PasswordAuthentication yes

是否允许密码验证

#PermitEmptyPasswords no

是否允许空密码登陆(很不安全)

一、口令验证:

ssh命令用于远程管理Linux主机,格式为:“ssh [参数] 主机”。

参数

作用

-p

指定连接端口(默认为22)

-v

显示连接过程的详细信息

指定用户登录 :

ssh 用户@主机

[root@yyd~]# ssh sdy@192.168.38.100

root登录:

[root@yyd ~]# ssh 192.168.38.100

二、密钥验证:

使用密码验证终归会存在着被骇客暴力破解或嗅探监听的危险,其实也可以让ssh服务基于密钥进行安全验证(可无需密码验证)。

第1步:在本地主机中生成“密钥对”并将公钥传送到远程主机中:

1、在本地生成密钥

[root@yyd ~]# ssh-keygen

2、将生成好的公钥密钥传送至远程主机:

[root@yyd ~]# ssh-copy-id 192.168.38.100

第2步:首先要在远程主机中修改sshd服务的配置文件(修改后记得重启服务):

1、编辑ssh服务程序主配置文件。

2、将允许密码验证的参数设置为no。

<1>、进如vi编辑器 ’:/PasswordAuthentication'  回车,搜索文件内容:

<2>、搜索结果:

<3>、设置配置

PasswordAuthentication no    运行设置为no

#PasswordAuthentication yes  注释设置yes

 第3步:将允许密钥验证的参数设置为yes。

vim  esc 切换命令模式 同上步骤运行 PubkeyAuthentication yes

第4步:保证设定是否允许root用户直接登录

运行PermitRootLogin yes

第5步:保存并退出配置文件。

:wq

第6步:重启ssh服务程序后即可生效。

第7步:最后来尝试无需密码的远程登录吧:

[root@yyd ~]# ssh 192.168.38.100

最新文章

  1. 参考bootstrap中的popover.js的css画消息弹框
  2. Java中关于String类型的10个问题
  3. C#如何获取物理网卡,虚拟网卡,以及无线网卡
  4. 数据结构与算法(1)支线任务8——Find Median from Data Stream
  5. GET/POST请求(NSURLSession)
  6. 七中滤波方法测试matlab实现
  7. Linux下修改网卡IP、DNS和网关
  8. Swift 结构体和类
  9. 【原创】javascript——prototype与__proto__
  10. Android学习----Android Studio 技巧汇总
  11. django 序列化json问题
  12. LoadRunner 技巧之THML 与 URL两种录制模式分析
  13. WebService 之 WSDL文件 解说
  14. 把VueThink整合到已有ThinkPHP 5.0项目中
  15. PhpStorm常用快捷键以及如何连接外部服务器
  16. Node.js WEB服务器(1)——编写简单的HTTP服务器
  17. 团队作业——Alpha冲刺 11/12
  18. go语言可变参数的坑
  19. ASP.NET动态添加控件一例
  20. Java swing中的keyListener使用事例

热门文章

  1. KVM简介,安装及常见使用详解
  2. Route53导出解析记录
  3. 【Java】阿里巴巴开发规范手册
  4. 力扣 - 142. 环形链表 II
  5. How to: Debug X++ Code Running in .NET Business Connector [AX 2012]
  6. Ubuntu 18.04 Java JDK/JRE 安装命令
  7. 2、Django源码分析之启动wsgi发生了哪些事
  8. leetcode75:search-a-2d-matrix
  9. 模拟鼠标操作(ActionChains)(转 侵删)
  10. AHB SRAM控制器设计