SSH是什么

  1. Secure Shell 安全外壳协议
  2. 建立在应用层基础上的安全协议
  3. 可靠、转为远程登陆会话和其他网络提供安全性的协议
  4. SSH客户端是用于多种平台

服务器安装SSH服务

  1. 安装:yum install openssh-server
  2. 启动:service sshd start
  3. 设置开启运行:chkonfig sshd on
  4. 查看进程是否存在:ps -ef |grep ssh

客户端安装SSH工具

  1. win平台使用xshell
  2. Linux平台需要安装客户端软件:yum install openssh-clients

客户端链接SSH服务

  1. 在win,打开xshell,新建一个会话:ssh root@192.168.2.20,输入密码就可以了进来了
  2. 在Linux,还是:ssh root@192.168.2.20

SSH config

  1. config为了方便我们管理多个ssh
  2. config存放的路径:~/.ssh/config
  3. config配置语法
  4. 关键字:
Host 别名
HostName 主机名
Port 端口
User 用户名
IdentityFile 密钥文件的路径
  1. 具体的操作

    • 首先使用ssh root@192.168.2.20登陆,然后cd ~/.ssh/
    • 此时会发现没有这个config这个文件
    • 创建一个config文件:touch config
    • vim config进入这个文件,输入i,进入编辑模式,如图,然后按esc,输入:wq保存退出

    • 此时输入:ssh imooc 就可以快速链接了,当然了,在配置文件中可以输入不同的别名,这样多的话就方便管理了

SSH安全免密码登陆:ssh key

  1. ssh key使用非对称加密方式生成公钥和私钥
  2. 私钥存放的位置在本地 ~/.ssh目录
  3. 公钥可以对外公开放,放在服务器的~/.ssh/authorized_keys
  4. Linux平台生成ssh key
    • ssh-keygen -t rsa
  5. Win
    • 在xshell中,工具--新建用户密码生成向导--下一步
    • 到输入密钥名称这个得记住imocc_linux,然后下面的密码可以输入也可以不输入
    • 另存为文件就可以
    • 然后需要把生成的这个的公钥放到服务器上,进入 cd ~/.ssh/
    • 发现没有那个文件,这个时候新建一个 touch authorized_keys文件
    • 用vim打开,把生成的公钥复制进来就可以了,然后保存退出
    • 这个时候在xshell中新建一个会话就可以免密码登陆了,如图:
  6. Linux
    • 首先cd ~/.ssh/
    • 开始生成ssh-keygen -t rsa,此时输入文件的名字,imooc_rsa,这个得记住,然后下面的密码可以输入也可以不输入
    • 此时ls查看一下就可以看到,如图:

    • 此时用cat imooc_rsa.pub看到公钥,把这个复制下来
    • 还是放入到touch authorized_keys文件中,此时这个文件中已经有连个公钥了
    • 然后把私钥加入到本地空间中ssh-add ~/.ssh/imooc_rsa

SSH安全端口

  1. 如何改变SSH服务端口,修改/etc/ssh/sshd_config配置就可以了
  2. 修改Port对应的值就可以了,如图:

  3. 服务重启:service sshd restart

Linux-SSH远程登陆的更多相关文章

  1. linux系统新建用户ssh远程登陆显示-bash-4.1$解决方法

    linux系统新建的用户用ssh远程登陆显示-bash-4.1$,不显示用户名路径 网络上好多解决办法,大多是新建.bash_profile文件然后输入XXXXX....然而并没有什么用没有用.... ...

  2. Linux服务器开启ssh服务,实现ssh远程登陆!

    最近在学linux,使用ssh远程登陆linux,记录下来! 首先进入/etc目录下,/etc目录存放的是一些配置文件,比如passwd等配置文件,要想使用ssh远程登陆,需要配置/etc/ssh/s ...

  3. linux系统新建用户ssh远程登陆显示-bash-4.1$解决方法,ssh-bash-4.1

    linux系统新建的用户用ssh远程登陆显示-bash-4.1$,不显示用户名路径 网络上好多解决办法,大多是新建.bash_profile文件然后输入XXXXX....然而并没有什么用没有用.... ...

  4. CentOS6无法本地登陆,ssh远程登陆没问题

    CentOS6无法本地登陆,ssh远程登陆没问题---使用CentOS自带的rsyslog分析调试 Apr 21 14:15:27 raccontroller init: tty (/dev/tty1 ...

  5. SSH 远程登陆

    2019-03-10 20:41:39 一.什么是SSH 简单说,SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登 ...

  6. 很好用的取代 PuTTY 的SSH远程登陆软件 Termius

    一直以来, 我都是用 PuTTY 一个窗口一个窗口来监视我所有的远程服务器. putty-connections-on-a-screen 总感觉非常的不方便, 特别是当远程链接断开需要再重新打开PUT ...

  7. 在linux终端远程登陆linux服务器

    在linux终端远程登陆linux服务器   原来在Linux终端远程登陆linux服务器是那么的容易,如果的服务器用户名是abc(也可以是root),只需要在终端输入: 然后电脑会提示输入密码就登录 ...

  8. 如何通过linux ssh远程linux不用输入密码登入

    如何通过一台linux ssh远程其他linux服务器时,不要输入密码,可以自动登入.提高远程效率,不用记忆各台服务器的密码. 工具/原料   ssh,ssh-keygen,scp 方法/步骤   首 ...

  9. 树莓派3b+ Ubuntu 16.04 MATA系统 ssh远程登陆后修改主机名、用户密码和用户名

    写在前面: 刚刚开始写博客,记录下自己的学习过程,备忘. 最近在使用树莓派做智能小车的开发,使用的是树莓派3b+,安装的是Ubuntu 16.04 MATA 系统,安装系统后需要修改主机名,登陆密码以 ...

  10. Linux SSH远程文件/目录 传输

    Linux SSH远程文件/目录传输命令scp 2010年08月6日 上午 | 作者:VPS侦探 相信各位VPSer在使用VPS时会经常在不同VPS间互相备份数据或者转移数据,大部分情况下VPS上都已 ...

随机推荐

  1. Domain Model

    VO(View Object):视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来. DTO(Data Transfer Object):数据传输对象,这个概念来源于J2EE的 ...

  2. Hadoop计数器

    1. MapReduce计数器是什么 计数器是用来记录Job的执行进度和状态的,其作用类似于日志.我们可以在程序的某个位置插入计数器,记录数据或进度的变化情况. 2. MapReduce计数器能做什么 ...

  3. Hadoop实战:用Hadoop处理Excel通话记录

    项目需求 有博主与家庭成员之间的通话记录一份,存储在Excel文件中,如下面的数据集所示.我们需要基于这份数据,统计每个月每个家庭成员给自己打电话的次数,并按月份输出到不同文件夹. 数据集 下面是部分 ...

  4. ASP.NET MVC CheckBoxFor为什么会生成hidden input控件

    自己开发的公众号,可以领取淘宝内部优惠券 @Html.CheckBoxFor(m => m.Bool) 使用CheckBoxFor方法得到的html代码会是下面这个样子 <input ch ...

  5. Sublime Text插件列表

    本文由 伯乐在线 - 艾凌风 翻译,黄利民 校稿.英文出处:ipestov.com.欢迎加入翻译组. 本文收录了作者辛苦收集的Sublime Text最佳插件,很全. 最佳的Sublime Text ...

  6. 树莓派-(一)开箱到点亮一些坑(无屏、无wlan、无直连键鼠)

    0x00.前期准备: 材料: 树莓派3b+ 板子 * 1,适配电源 * 1,网线 * 2,sd卡16G * 1,读卡器 * 1 安装时注意,3b+三个散热片贴好.小风扇接线要接对 工具: 0x01. ...

  7. js函数获取ev对象

    今天工作中遇到一个问题,就是平时获取一个ev(event)对象时候一般直接在调用方法里面写一个ev参数,即可直接拿到这个对象,但是有时候会遇到函数调用不是直接加在一个dom对象的后面,如: var o ...

  8. WPF学习二:TextBlock和Label的区别

    TextBlock和Label都是用来显示少量数据的.好多文章对Label存在的描述都是它允许使用"快速获取"."快速获取"就是允许你用Alt加上其它的按键快速 ...

  9. 【迷你微信】基于MINA、Hibernate、Spring、Protobuf的即时聊天系统:0.概述

    欢迎阅读我的开源项目<迷你微信>服务器与<迷你微信>客户端 序言 帖主和队友仿制了一个简单版的微信,其中,队友是用Unity3D做前段,帖主用Java的Mina.Hiberna ...

  10. kubernetes发布解释型语言应用的最佳实践

    说明 k8s在发布编译型语言的应用时,几乎不用多考虑,就会选择将编译好jar/war包(java语言)或者二进制文件(golang/c++)直接打到镜像当中,生成新的应用镜像,然后将镜像推到镜像仓库, ...