zoukankan      html  css  js  c++  java
  • Linux:远程连接 SSH

    一、认识 SSH

    • 定义
    1. SSH(Secure shell)安全外壳协议;是建立在应用层基础上的安全协议
    2. 通过 SSH 进行服务端连接,不容易被窃取信息;
    • 连接服务器
      ssh 账号名 + @ + 服务器 Ip
    • 功能、特点
    1. 客户端与服务器端的通讯协议;客户端通过该协议连接服务器端更加安全,不容易被第三方窃取
    2. 可靠,专为远程登录会话和其它网络服务提供安全性的协议;
    3. 有效防止远程管理过程中的信息泄密问题;
    4. SSH 是典型的客户端和服务端的交互模式;
    • 交互模式

    1. 客户端:社交软件 QQ、微信等,是客户端与服务端的交互;
    2. 网页端:浏览器是网页端与服务器的交互方式;
    • 应用
    1. SSH 客户端适用于多种平台;
    2. SSH 服务端几乎支撑所有 UNIX 平台;

    二、服务器安装 SSH 服务

    • 在服务器的操作系统上安装 SSH 安全协议:openssh-server(服务端软件)
    • ps -ef |grep + 应用名:查看应用进程;

     1)步骤

    • 安装 SSH
      yum install openssh-server
    • 启动 SSH
      service sshd start
    • 重新启动
      service sshd restart
    • 设置开机运行
      chkconfig sshd on
    • CentOS 是服务器版本的操作系统,已经默认集成安装好了 openssh-server
    • 一般桌面化的操作系统(带有可视化功能),都没有安装 SSH 协议,需要手动通过界面到操作系统后进行安装;
    • 一般服务器版本的操作系统没有可视化功能;

    三、客户端安装 SSH 工具

    • 客户端也必须安装 SSH 才能连接服务端;
    • SSH 是典型的客户端和服务端的交互方式,客户端广泛的支持各个平台;
    • Windows 有很多工具可以支持 SSH 连接功能,如:Xshell、Putty、secureCRT;
    • Linux 平台需要安装客户端软件:openssh-clients(客户端软件)

      yum install openssh-clients
    • 客户端上只有安装了 SSH 协议,才能连接到服务器上

    四、SSH 客户端连接 SSH 服务

    • 从个人电脑连接到服务器,使用 Xshell 创建会话,其内部执行的命令:
      命令ssh + 账号 + @ + 服务器的 IP
      例:ssh root@192.168.108.129
    • 退出当前所连接的服务器(回到本地,如果在服务器中又连接了其它服务器,则先退到第一层服务器,在此执行命令则退出到本地电脑):
      命令exit

    五、SSH config 命令讲解

    • Ctrl + C:终止当前的命令;(按住 “Ctrl + C” 键后,在按 Enter 键当前命令不再执行)

     1)config  的功能

    • 通过 config 文件 ,批量管理多个服务器

    • config 文件存放在地址: ~/.ssh/
    • config 文件的配置语法
    • config 文件的内容:配置管理一台服务器

    1. Hostname:一般指 ip;
    2. Port 22:指 22 个端口;
    3. IdentityFile:config 文件的存放地址;

     2)通过 config 文件管理多个服务器

    • 可以直接通过 mogo 名称连接 HostName 对应的 ip 服务器
    • 在地址 “~/.ssh/” 下创建 config 文件:(该文件名必须是 config
    • config 文件中的每一个 host 表示一个服务器,config 文件中设置多个 host ,则可以通过config 文件管理多个服务器

    • 创建步骤:

    1. 进入指定地址
      cd ~/.ssh/
    2. 创建文件
      touch config
    3. 编辑文件:
      命令一vim config
      命令二i
      :编辑 2 台服务器的内容
      host "imooc1"
          HostName 192.168.0.100
          User root1
          Port 22

      host "imooc2"
          HostName 192.168.0.101
          User root2
          Port 22
      命令四:wq
    4.  使用账号 root1,连接 ip 为“192.168.0.100” 的服务器(必须先进入 “~/.ssh/” 地址位置

      命令一:cd ~/.ssh/
      命令二:ssh imooc1

     六、SSH 免密登录

     1)简介

    • ssh key :一种加密方式,使用非对称解码方式生成共钥和私钥;
    1. 私钥存放在本地目录:~/.ssh
    2. 公钥可以对外公开,放在服务器的 authorized_keys 文件内:~/.ssh/authorized_keys
    • 当公钥放在服务器的 authorized_keys 文件内后,登录服务器不需要再输入密码

      2)Linux 平台下使用 ssh key 生成加密文件

    • 不同的加密算法对应不同的生成方式:Linux系统的生成方式
    1. 进入指定目录
      cd ~/.ssh
    2. 方式一
      ssh-keygen -t rsa
    3. 方式二
      ssh-keygen -t dsa
    •  在秘钥文件夹内,“.pub” 文件为公钥,不带 “.pub” 的文件内为私钥内容

     3)Windows 品台下,使用 Xshell 中的 ssh key 生成加密文件

    • 在 Xshell 软件下:工具——新建用户秘钥生成导向——秘钥类型 RSA——下一步——设置秘钥名称以及需要加密的密码(也就是服务器密码)——完成

     4)Windows 平台下,Xshell 软件使用加密文件

    1. 进入指定目录:
      cd ~/.ssh
    2. 创建 authorized_keys 文件
      touch authorized_keys
    3. 编辑 authorized_keys 文件,将使用 ssh key 加密方式把服务器密码生成的公钥添加到文件内
      vim authorized_keys
    • 从 Windows 系统再次使用 Xshell 连接到服务器时,不需要再次输入服务器密码

     5)Linux 平台下使用加密文件

    •  思路
    1. 公钥内容放在服务器的 “~/.ssh” 目录下的 “authorized_keys” 文件内;
    2. 将私钥文件加载到 “~/.ssh” 目录下
      # 将私钥 “imooc_rsa” 加载到本地空间中
      ssh-add ~/.ssh/imooc_rsa
    • 从 Linux 系统进入服务器时,不再需要输入服务器密码;

     6)端口安全

    • 端口安全指的是尽量避免服务器的远程连接端口被不法分子知道,为此而改变默认服务端口的操作;
    • SSH 的默认端口是 22 端口;
    • http 的默认端口是 800;
    • https 的默认端口是 43;
    • 通过协议的端口可以连接服务器;
    • 修改 SSH 服务端口:修改 /etc/ssh/sshd_config 的配置
    1. 一般不将端口:Port 22 删除,而是添加一个端口,让 SSH 服务同时监听两个端口;
    2. 直接编辑 config 文件,添加一个新端口:Port 10086
      vim /etc/ssh/sshd_config

       

    3. 重启 SSH 服务
      service sshd restart
  • 相关阅读:
    HDU 2544 最短路
    HDU 3367 Pseudoforest
    USACO 2001 OPEN
    HDU 3371 Connect the Cities
    HDU 1301 Jungle Roads
    HDU 1879 继续畅通工程
    HDU 1233 还是畅通工程
    HDU 1162 Eddy's picture
    HDU 5745 La Vie en rose
    HDU 5744 Keep On Movin
  • 原文地址:https://www.cnblogs.com/volcao/p/9513035.html
Copyright © 2011-2022 走看看