ssh远程连接

  • 1. 概念介绍
  • 2.ssh 原理
    • 2.2 基于秘钥的连接过程
  • 3. 基于秘钥连接的部署过程
    • 3.1配置
    • 3.2 多台服务器的配置(脚本)
      • 3.2.1 几台主机的ip已知
  • 4. ssh服务配置文件
    • 4.1文件的一些中安要参数
    • 4.2远程服务防范入侵案列
    • 4.3 sftp参数详解

1. 概念介绍

1.ssh 安全的远程连接 数据信息是加密的 默认可以root用户连接 默认端口 22
2.telent 不安全的远程连接,数据信息是明文的 默认端口23

shell 每次连接登录到一个llinux中就是一个shell

2.ssh 原理

私钥:钥匙
公钥:锁头

1.客户端        执行远程连接命令
2.客户端服务端    建立三次握手的过程
3.服务端       让客户端进行确认是否接收到服务端的公钥
4.客户端       进行公钥的确认
5.服务端           让客户端确认登录的用户
6.客户端       进行密码信息的确认
7.客户端 服务端   远程连接成功

私钥和公钥的作用:对数据信息进行加密处理,进行用户身份的验证

ssh 远程连接的方式
a 基于口令的远程连接方式 比较麻烦 来接不太安全
b 基于秘钥的方式进行连接 安全方便

2.2 基于秘钥的连接过程

1. 客户端(管理端)    执行命令创建秘钥对
2. 客户端(管理端)    建立远程连接(口令),发送公钥信息
3. 客户端(管理端)    再次建立远程连接
4. 服务端(被管理端)  发送公钥质询信息(你要是能打开我的锁头吗)
5. 客户端(管理端)    处理公钥质询信息(钥匙将锁头打开),将质询结果返回给服务端
6. 服务端(被管理端)  接收到质询结果,建立好远程连接

3. 基于秘钥连接的部署过程

3.1配置

1.管理端创建密钥对信息

ssh-keygen -t dsa

2.管理端将公钥进行分发

ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.31

3.远程连接测试

ssh 172.1.31

3.2 多台服务器的配置(脚本)

3.2.1 几台主机的ip已知

ssh-copy-id -i /root/.ssh/id_pub.dsa root@172.16.1.$ip

假若这种方式就会出现交互式的:需要输入密码才能发送
还要确认yes 或 no
端口号问题

1.安装 sshpass

yum  -y install sshpass

2.解决免交互模式

sshpass -p123456 ssh-copy-id -i /root/.ssh/id_pub.dsa root@172.16.1.$ip

3.端口号问题 -p

sshpass -p123456 ssh-copy-id -i /root/.ssh/id_pub.dsa -p 22 root@172.16.1.$ip

4.yes提示

man ssh
/-o
StrictHostKeyChecking
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_pub.dsa -p 22 root@172.16.1.$ip "-o StrictHostKeyChecking=no"

5.完整的脚本(默认的端口是22 不是则需要加上-p 端口号)

#!/bin/bashfor ip  in 31 41
doecho "====================start fenfa 172.16.1.$ip===================="
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub  root@172.16.1.$ip "-o StrictHostKeyChecking=no" &>/dev/nullecho "=================host 172.16.1.$ip success!!!!=================="echo "====================            end         ===================="
done

脚本的执行 (sh 文件名称)

sh fenfa_id.sh

检查是否成功
vim check_id.sh

#!/bin/bashfor ip  in 31 41
doecho "====================check 172.16.1.$ip===================="ssh 172.16.1.$ip hostname  echo "====================            end         ===================="
done

6.假若有很多台服务器,并且ip地址没有规律(默认的端口是22 不是则需要加上-p 端口号)
创建一个文件
touch ip.txt

172.16.1.41
172.16.1.32
172.16.1.52
172.16.1.98
172.16.1.252
172.16.1.23

脚本:

#!/bin/bashfor ip  in `cat /server/scripts/ip.txt`
doecho "====================start fenfa          $ip===================="
sshpass -p123456 ssh-copy-id -i /root/.ssh/id_dsa.pub  root@$ip "-o StrictHostKeyChecking=no" &>/dev/nullecho "=================host          $ip success!!!!=================="echo "====================            end         ===================="
done

4. ssh服务配置文件

4.1文件的一些中安要参数

/etc/ssh/sshd_config

port 22  端口号
ListenAddress 0.0.0.0  监听地址,能接受的远程访问请求指定的箭筒地址只能是本地网卡上有的地址PermitEmptyPasswords no  允许远程用户使用空密码进行连接,默认不允许
PermitRootLogin yes  不允许root用户进行远程连接
GSSAPIAuthentication no   --- 是否开启GSSAPI认证功能 不用的时候关闭
UseDNS no                 --- 是否开启反向DNS解析功能 建议进行关闭

4.2远程服务防范入侵案列

1.使用秘钥登录,怒用密码登录
2.牤牛阵法
a 防火墙粉笔ssh
b 开启ssh只监听内网ip
3.尽量不给服务器的外网ip
4. 一个服务器的软甲安装最小化
5. 给系统的重要文件一个指纹,监控指纹即可 md5sum
6. 给他上锁 chattr +i

4.3 sftp参数详解

ls       查看远程ftp服务器信息
cd   --- 查看远程ftp服务器信息
lls      查看本地ftp客户端信息
lcd  --- 查看本地ftp客户端信息
get  --- 下载信息
put  --- 上传信息
help --- 查看命令帮助
bye  --- 退出ftp连接

ssh 远程连接详解--(linux运维09)相关推荐

  1. 详解Linux运维工程师打怪升级篇

    详解 Linux 运维工程师打怪升级篇 积累经验篇 做运维也快4年多了,就像游戏打怪升级,升级后知识体系和运维体系也相对变化挺大,学习了很多新的知识点. 运维工程师 是从一个呆逼进化为苦逼再成长为牛逼 ...

  2. 详解linux运维工程师入门级必备技能

    it自动化运维就是要很方便的运用各种工具进行管理维护,有效的实施服务器保护 linux运维人员常用工具介绍 1.很多地方经常会用到的rsync工具 实施几台服务器的同步效果 我们公司就是使用这个工具完 ...

  3. 详解Linux运维工程师应具备的十大技能

    Linux系统如果是学习可以选用Redhat或CentOS,特别是CentOS在企业中用得最多,当然还会有其它版本的,但学习者还是以这2个版本学习就行,因为这两个版本都是兄弟,没区别的,有空可以再研究 ...

  4. _linux中curl命令详解-linux运维

    linux中curl命令的使用详情:1.[curl url]获取该网址的文本信息:2.[curl -i url]获取该网址的文本信息以及协议头部信息:3.[curl -x proxy url]使用代理 ...

  5. Linux运维09:ip命令详解

    系列专题:Linux运维入门教程 Linux中的ip命令功能强大,可以完成接口配置.路由管理等任务. 1.ip与ifconfig的区别 Linux的ip命令和ifconfig类似,但前者功能更强大,并 ...

  6. linux下php远程连接mysql_Linux下PHP远程连接Oracle数据库 | 系统运维

    说明: Web服务器环境:CentOS 5.8 32位+Nginx 1.2.3+Mysql 5.5.27+php 5.3.16 Web服务器IP:192.168.21.149 php源码编译目录:/u ...

  7. python编程入门与案例详解-Pythony运维入门之Socket网络编程详解

    Socket是什么? Socket 是电脑网络中进程间数据流的端点Socket 是操作系统的通信机制应用程序通过Socket进行网络数据的传输 首先,简单了解一下TCP通信过程: TCP三次握手(面试 ...

  8. ssh远程连接不上linux

    远程连接工具是:Xmanager Enterprise 5-->Xshell linux 发行版本是:CentOS-6.3-x86_64 问题:ssh一直都可以远程连接上linux,一段时间后突 ...

  9. 什么是 SRE?一文详解 SRE 运维体系

    可观测性系统 在任何有一定规模的企业内部,一旦推行起来整个SRE的运维模式,那么对于可观测性系统的建设将变得尤为重要,而在整个可观测性系统中,通常我们会分为如下三个方面: 指标监控:即各种指标监控,比 ...

  10. 一文详解IT运维大会精华 网络安全等保2.0时代掌控万物互联

    10月24日,由<网络安全和信息化>杂志社.IT运维网联合主办的"2019(第十届)IT运维大会"在北京新世纪日航酒店成功举行. 随着大数据.云计算.物联网.互联网+等 ...

最新文章

  1. html无效标签但是仍然能用,html 标签失效怎么办
  2. git reset HEAD^
  3. 开盘即破发,网易有道赴美上市,继续发力在线教育
  4. python启动mysql_Python操作MySQL
  5. 见良:学习多媒体主要靠实践
  6. CSS 3 中的伪类选择器
  7. 2139=数据结构实验之图论五:从起始点到目标点的最短步数(BFS)
  8. 学霸女神冯净冰:我是如何从复旦走到诺奖获得者经济学大会的
  9. java (lodop) 打印实例
  10. [原创]红马版验证码实现(中文+变形+噪点)
  11. hibernate 基础方法(一)及Hibernate中java对象的三种状态
  12. 开发人员一定要加入收藏夹的网站
  13. Spring AOP(面向切面)
  14. 转:饭后九不要包你保健康
  15. windows下使用vscode编写运行以及调试C/C++
  16. adlds文件服务器,Windows轻型目录(AD LDS)的备份恢复
  17. 可见性,原子性,有序性的源头(一)
  18. 超详细的canal使用总结
  19. java中extends用法_java中extends和implements的区别,怎么用?
  20. Linux / Windows系统中安装最新版 ElasticSearch (es)搜索引擎 超详细图文教程【一看就懂】

热门文章

  1. 半导体物理 第七章 金属半导体接触整流理论
  2. 福州化工实验室建设注意隐患分析
  3. jsp15公安海警学院值班管理系统(jsp+servlet+mysql)
  4. zte中兴应用Java版下载_中兴link app下载
  5. Axure 9.0 使用教程2-函数分类
  6. Navision的ERP系统 - 微软Dynamics NAV的ERP软件评论
  7. matlab教程pdf,Matlab2010经典超强教程(清晰、版).pdf
  8. WordPress收费下载插件Erphpdown v11.0
  9. Layout inflation的正确使用
  10. numpy - 数组随机排序