linux ssh远程连接控制 linux(centOS) 口令、密钥连接
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
最新文章
- 参考bootstrap中的popover.js的css画消息弹框
- Java中关于String类型的10个问题
- C#如何获取物理网卡,虚拟网卡,以及无线网卡
- 数据结构与算法(1)支线任务8——Find Median from Data Stream
- GET/POST请求(NSURLSession)
- 七中滤波方法测试matlab实现
- Linux下修改网卡IP、DNS和网关
- Swift 结构体和类
- 【原创】javascript——prototype与__proto__
- Android学习----Android Studio 技巧汇总
- django 序列化json问题
- LoadRunner 技巧之THML 与 URL两种录制模式分析
- WebService 之 WSDL文件 解说
- 把VueThink整合到已有ThinkPHP 5.0项目中
- PhpStorm常用快捷键以及如何连接外部服务器
- Node.js WEB服务器(1)——编写简单的HTTP服务器
- 团队作业——Alpha冲刺 11/12
- go语言可变参数的坑
- ASP.NET动态添加控件一例
- Java swing中的keyListener使用事例
热门文章
- KVM简介,安装及常见使用详解
- Route53导出解析记录
- 【Java】阿里巴巴开发规范手册
- 力扣 - 142. 环形链表 II
- How to: Debug X++ Code Running in .NET Business Connector [AX 2012]
- Ubuntu 18.04 Java JDK/JRE 安装命令
- 2、Django源码分析之启动wsgi发生了哪些事
- leetcode75:search-a-2d-matrix
- 模拟鼠标操作(ActionChains)(转 侵删)
- AHB SRAM控制器设计