目录

一、SSH远程管理基础

1、ssh协议

2、ssh原理

3、配置文件解析

4、登录方法

5、使用ssh协议传输的命令

二、免密连接的实现

1、免密连接原理

2、免密实现环境准备

3、在客户端生成秘钥文件

4、将秘钥发送给服务器

5、验证免密登录

一、SSH远程管理基础
1、ssh协议
ssh协议是基于C/S机构的安全通道协议,通信数据进行加密处理,用于远程管理。

ssh的服务名称为sshd。

默认端口号:tcp的22端口

2、ssh原理
使用公钥传输

第一步:客户端请求连接,服务端返回一个公钥(专门给别人用的)和一个会话ID给客户端

第二步:客户端把服务端的公钥和自己的公钥加密发送给客户端

第三步:客户端和服务端都有对方的公钥和自己的公钥私钥

3、配置文件解析

服务端配置文件:/etc/ssh/sshd_conf

客户端配置文件:/etc/ssh/ssh_conf,一般不修改

服务端配置文件解析:
#Port 22 #默认使用22端口
#AddressFamily any #默认任何地址可访问
#ListenAddress 0.0.0.0 #监听所有地址的ipv4地址
#ListenAddress :: #监听的ipv6地址

# Logging #日志模块内容
#SyslogFacility AUTH
SyslogFacility AUTHPRIV #默认日志位置输出到rsyslog服务的AUTHPRIV中,/var/log/message下

# Authentication: #身份验证模块
#LoginGraceTime 2m #默认验证用户登录失败后等待时间为2秒
#PermitRootLogin yes #默认允许使用root账户登录
#MaxAuthTries 6 #默认最多可以尝试连接失败6次
#MaxSessions 10 #默认最大可连接10个会话
#PubkeyAuthentication yes #基于key验证默认为开启
#AllowUsers user1,user2@ip #白名单允许登录用户user1,用户为user2的且限制ip

4、登录方法
①ssh [远程主机用户名]@[远程服务器主机名或IP地址] -p port 。

例如root默认用户则可以不写,port默认22也可不写。

ssh 192.168.30.11然后输入密码即可。

5、使用ssh协议传输的命令
①scp命令:将本机文件直接传输到对面服务器

使用格式:scp 本地文件 对面ip地址:对面接收路径

例如:scp /data/a.txt 192.168.30.12:/mnt

②sftp命令:上传或下载文件

使用格式:scp 对面ip (进去后在对面的家目录)

可以使用get下载,put上传到对面机器的家目录

二、免密连接的实现
1、免密连接原理
第一步:手动添加客户端的公钥到服务端

第二步:服务端收到客户端的公钥后使用客户端公钥加密一串随机字符串发送给客户端

第三步:客户端收到服务端发送的加密的随机字符串使用自己的私钥解密返回给服务端进行验证

第四步:服务端验证客户端发送来的随机字符串一致则同意建立连接

2、免密实现环境准备

首先准备2台可以互相通信的虚拟机,且关闭防火墙和selinux。

2台服务器都执行
systemctl stop firewalld #关闭防火墙
setenforce 0 #关闭selinux

4、将秘钥发送给服务器

秘钥的默认位置为:/root/.ssh/

5、验证免密登录

最新文章

  1. npm源切换
  2. 【WCF】授权策略详解
  3. [每日一记] Python报错 IndentationError: unexpected indent
  4. jQuery源码分析系列(40): 动画设计
  5. Git 使用教程
  6. socket listen参数中的backlog 的意义!
  7. mysql西文字符大小写重复键问题的解决方法
  8. (easy)LeetCode 234.Palindrome Linked List
  9. 如何用CSS进行开发
  10. 跨站点端口攻击 – XSPA(SSPA)
  11. Application Cache
  12. C#程序中:如何启用进程、结束进程、查找进程
  13. SVN的初步使用方法
  14. Table显示边框
  15. Jps介绍以及解决jps无法查看某个已经启动的java进程问题【盗用】
  16. 双网卡绑定(suse)
  17. [Unity]Unity3D编辑器插件扩展和组件扩展
  18. Docker 控制组
  19. 【Java基础】【12String类】
  20. sgu 154

热门文章

  1. 在Mac OS上将Node.js连接到XAMPP MySQL服务器一直报错error connecting: Error: connect ECONNREFUSED
  2. 【学习笔记】珂朵莉树(ODT)
  3. Linux音频采集和在国产化平台中遇到的坑(一)
  4. Sundial (二)
  5. CAN2-CH32V307CAN2使用说明与CAN波特率计算方法
  6. 0源码基础学习Spring源码系列(一)——Bean注入流程
  7. Spring02---IOC-Debug查看Bean的实例化过程
  8. LoginServlet类
  9. Zstack 鼎阳SDS6204示波器和Archiver Appliance的重度测试2
  10. .bash_profile等配置文件