目录

SSH

使用scp在两台Linux间传数据:

基于SSH做远程访问,可以使用ftp服务的相关指令sftp root@192.168.10.10

Openssh公私钥验证:


SSH

SSH(Secure Shell)安全外壳协议,SSH是用来替代常见的不安全的网络应用的协议。比如Telnet、FTP,他们都是基于明文传输的协议,所以很不安全。Openssh 提供基于用户的身份验证,而且能够通过端口隧道转发不安全协议,在隧道里面,数据都是被加密的。
SSH验证:

  1. password (sent  securely)
  2. RSA and DSA keys (公私钥验证)
  3. Kerberos
  4. s/key  and SecureID(OTP)

相关联的RPM包:openssh(底层包)  、 openssh-clients 、 openssh-server

服务器端安装: yum  install  openssh-server   (安装了openssh-server会自动安装openssh)  

客户端安装: yum  install  openssh-clients      (安装了openssh-clients 会自动安装openssh) 

卸载: yum  remove  openssh (卸载了openssh,然后会自动卸载openssh-server和openssh-clients)

服务:/usr/sbin/sshd

服务端口:tcp / 22

服务器端配置文件:/etc/ssh/sshd_config

客户端配置文件:  /etc/ssh/ssh_config 

用法:ssh -p  22  root@192.168.10.10  ,如果配置文件中 /etc/ssh/ssh_config 默认是22号端口,则可以直接   ssh  root@192.168.10.10

服务开启/关闭/重启/开机自启/开启不自启: systemctl  start / stop / restart / enable / disable  sshd

ssh服务端的配置文件(部分):   /etc/ssh/sshd_config

#Port 22                     //默认的端口号为22  修改端口时,取消注释
#LoginGraceTime 2m //ssh登录时,密码验证的超时时间,默认2分钟
#PermitRootLogin yes //是否允许以root用户身份登录
#MaxAuthTries 6 //最大认证次数
#MaxSessions 10 //登录Sessions保持的天数
#PermitEmptyPasswords no //是否允许空密码
PasswordAuthentication yes //开启密码认证

在安装了SSH的机器上,会有ssh和sshd两个程序,分别是 /usr/sbin/sshd 和 /usr/bin/ssh 。

sshd是服务端的程序,ssh是客户端的程序。我们现在用Xshell连接主机,此时主机上运行的是sshd程序。

我们现在用该主机连接其他的主机,此时我们上面还会运行ssh程序

在 /etc/ssh/ 下面有 ssh_config 和 sshd_config ,分别是客户端的配置文件和服务端的配置文件。

使用scp在两台Linux间传数据:

本机传数据给目的主机

  • scp   /etc/fstab    root@192.168.10.10:/tmp     将本机 /etc/fstab 文件传送到目的主机的 /tmp目录下
  • scp  -r  /etc/ssh/  root@192.168.10.10:/tmp     将本机 /etc/ssh/ 文件夹传送到目的主机的 /tmp 目录下

将目的主机的数据下载到本地

  • scp root@192.168.10.5:/etc/fstab  /tmp              将目的主机的 /etc/fstab 文件下载到本机的 /tmp 目录下
  • scp -r  root@192.168.10.5:/etc/ssh/  /tmp           将目的主机的 /etc/ssh/ 文件夹下载到本机的 /tmp 目录下

基于SSH做远程访问,可以使用ftp服务的相关指令

  • sftp root@192.168.10.10
  • get  /etc/fstab   将远端主机的 /etc/fstab下载到本机
  • put  /etc/fstab   将本机的 /etc/fstab 上传到远端主机

注:通过 sftp 成功登录,在对端主机的/var/log/wtmp是没有日志信息的。但是如果sftp登录失败,在对端主机的/var/log/btmp是有日志信息的。

​​​​查看本机有多少终端登录: who  和   w

通过 who 显示远端10.0.0.1的地址通过ssh登录本机,然后本机开了两个tty终端

然后再通过 w 可以查看他是几点登录的,当前正在运行的命令是top

然后在通过 ps aux | grep pts 可以看到pts进程以及子进程

Openssh公私钥验证:

  1. 在主机A上,使用 ssh-keygen,然后输入保存的文件名(默认为id_rsa)和自己的私钥,完成之后会在 ~/.ssh/ 生成的两个密钥: id_rsa(私钥) 和 id_rsa.pub(公钥)
  2. 私钥(id_rsa)保存在本地主机,公钥(id_rsa.pub)通过 ssh-copy-id root@192.168.1.200  会自动传递到对端B主机的~/.ssh/目录下,并且自动重命名为 authorized_keys
  3. 登录目标主机:  ssh  root@192.168.1.200    使用刚刚输入的私钥登录

使用 ssh-keygen ,然后回车(默认是生成文件名为 id_rsa ,也可以自己手动输入修改),然后再输入私钥密码

可以看到,在 /root/.ssh/  目录下已经生成了 id_rsa 私钥和 id_rsa.pub 公钥了

进入/root/.ssh/目录,使用  ssh-copy-id root@192.168.1.200 命令,它会将 id_rsa.pub 公钥传到目标主机 ~/.ssh/ 目录下,并且会自动重命名为 authorized_keys

可以看到,目标主机已经收到 id_rsa.pub公钥了,并且已经重命名为  authorized_keys

然后在主机上 ssh root@192.168.1.200  然后输入我们自己的私钥就可以登录了。

Linux中的SSH服务的更多相关文章

  1. 使用Linux系统中的SSH服务

    使用Linux系统中的SSH服务 1.SSH服务应用场景 ① 可以实现对文件的上传与下载 ② 实现远程管理Linux 2.安装SSH服务器 服 务:sshd 位 置:光盘2 软 件:openssh-s ...

  2. 如何在ubuntu中启用SSH服务

    如何在ubuntu14.04 中启用SSH服务 开篇科普:  SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为 ...

  3. docker中安装ssh服务

    系统:Debian Docker 目标:在docker(debian系统)中安装ssh服务,实现远程登陆和控制docker 步骤: 初始状态:通过docker pull debian得到的一个debi ...

  4. Linux中如何设置服务自启动?

    转自:Linux中如何设置服务自启动? 有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务,主要用三种方式进行这一操作: ln -s             在/etc/rc.d/rc ...

  5. Linux中的sshd服务

    Linux中的sshd服务,主要用于pst终端,远程连接到linux服务中 看sshd服务状态 service sshd status 停止sshd服务 service sshd stop 启动ssh ...

  6. win10下Linux子系统开启ssh服务

    原文:win10下Linux子系统开启ssh服务 为了便于交流共同学习,博主QQ群242629020(stm32-MCU认认真真交流群) 欢迎批评指导!!!电梯:https://jq.qq.com/? ...

  7. Linux中解决SSH连接慢问题

    [转载]来源:http://www.bkjia.com/xtzh/893669.html [转载原因]:其他文章都是修改服务器端配置,但为了保证服务器端安全问题,一般情况下最好不要修改服务器端配置.因 ...

  8. Linux 下开启ssh服务(转)

    二.SSH SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议.SSH 是目 ...

  9. Kali Linux上安装SSH服务

    安装 SSH 从终端使用 apt-get 命令安装 SSH 包: # apt-get update # apt-get install ssh 启用和开始使用 SSH 为了确保安全 shell 能够使 ...

随机推荐

  1. 剑指 Offer 49. 丑数 + 小根堆 + 动态规划

    剑指 Offer 49. 丑数 Offer_49 题目详情 解法一:小根堆+哈希表/HashSet 根据丑数的定义,如果a是丑数,那么a2, a3以及a*5都是丑数 可以使用小根堆存储按照从小到大排序 ...

  2. SpringMVC-05 Json交互处理

    SpringMVC-05 Json交互处理 Json 1.什么是JSON? JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式,目前使用特别 ...

  3. 迷宫问题(DFS)

    声明:图片及内容基于https://www.bilibili.com/video/BV1oE41177wk?t=3245 问题及分析 8*8的迷宫,最外周是墙,0表示可以走,1表示不可以走 设置迷宫 ...

  4. WPF 基础 - 绘画 1) 线段、矩形、圆弧及填充色

    1. 绘画 1.1 图形类型 Line X1.Y1.X2.Y2,Stroke,StrokeThickness Rectangle 矩形 Ellipse 椭圆 Polygon 多边形(自动闭合) Pol ...

  5. Java并发编程之多线程

    线程 进程/线程/协程/管程 进程:操作系统会以进程为单位,分配系统资源(CPU时间片.内存等资源),是资源分配的最小单位 进程间通信(IPC): 管道(Pipe) 命名管道(FIFO) 消息队列(M ...

  6. Java例题_17 猴子偷桃问题

    1 /*17 [程序 17 猴子吃桃问题] 2 题目:猴子吃桃问题 3 猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 4 第二天早上又将剩下的桃子吃掉一半,又多吃了一个. 5 以后每天 ...

  7. Android Studio中Switch控件有关 thumb 和 track 用法

    •任务 •属性 android:track:底部的图片(灰->绿) android:thumb:设置 Switch 上面滑动的滑块,也就是上图中的白色圆形滑块 •switch_thumb 点击 ...

  8. 力扣 - 92. 反转链表II

    目录 题目 思路1(迭代) 代码 复杂度分析 思路2(递归) 代码 复杂度分析 题目 92. 反转链表 II 思路1(迭代) 将反转链表分成3个部分:前一段未反转的部分.待反转链表部分.后一段未反转部 ...

  9. vue实现日历

    vue实现日历 之前在上家公司做过一个公司人员考勤的东西,里面需要用到日历,当时自己用vue随便写了一个,比较简单 下面代码是删掉了其他功能的代码,只留下日历部分 <template> & ...

  10. PAT (Basic Level) Practice (中文)1054 求平均值 (20 分) 凌宸1642

    PAT (Basic Level) Practice (中文)1054 求平均值 (20 分) 题目描述 本题的基本要求非常简单:给定 N 个实数,计算它们的平均值.但复杂的是有些输入数据可能是非法的 ...