zoukankan      html  css  js  c++  java
  • 2-3 远程管理命令-SSH工作方式简介

    03.远程登录和复制文件

    序号 命令 对应英文 作用
    01 ssh 用户名@ip secure shell 关机/重启
    02 scp 用户名@ip:用户名或路径 用户名@ip:文件名或路径 secure copy 远程复制文件

    3.1 ssh 基础(重点)

    在Linux中SSH是非常常用的工具,通过SSH客户端我们可以连接到运行了SSH服务器的远程机器上

    • SSH客户端是一种使用Secure shell(SSH)协议连接到计算机的软件程序
    • SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议
      • 利用SSH 协议可以有效防止远程管理过程中的信息泄露
      • 通过SSH 协议可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗
      • SSH的另一项有点事传输的数据可以是经过压缩的,所以可以加快传输的速度
    1)域名 和 端口号

    域名

    • 由一串用点分隔的名字组成,eg:www.baidu.com
    • IP地址的别名,方便用户记忆

    端口号

    • IP地址:通过IP地址找到网络上的计算机
    • 端口号:通过端口号可以找到计算机上运行的应用程序
      • SSH服务器的默认端口号是 22,如果是默认端口号,在连接的时候可以省略
    • 常见服务端口号列表:
    序号 服务 端口号
    01 SSH服务器 22
    02 Web服务器 80
    03 HTTPS 443
    04 FTP服务器 21

    软件中:
    访问地址组成的结构:ip地址+:+端口号

    Linux中:
    eg:$ ssh -p端口号 用户名@IP地址

    注意
    在这之前要确定LInux上有安装ssh操作如下:
    1.ps - e| grep ssh 如果没有看到进程类似:

    就说明没有启动或安装
    2.安装ssh:sudo apt-grep install openssh-server,之后输入yes,进行安装。再次通过ps - e| grep ssh确定是否启动
    3.启动ssh:sudo /etc/init.d/ssh start
    4.ssh连接客户端:$ ssh 用户名@IP地址:端口号,或者不用输入端口号

    2)SSH客户端的简单使用

    ssh [-p port] user@remote

    • user是在远程机器上的用户名,如果不指定的话,就默认为当前用户
    • remote是远程机器的地址,可以是IP/域名,或者是后面会提到的别名
    • portSSh Server箭头的端口,如果不指定,就默认为默认22

    提示:

    • 使用exit退出当前用户的登录

    注意:

    • ssh这个终端命令只能在linuxUNIX系统下使用
    • 如果在Windows系统中,可以安装PuTTY或者XShell客户端软件即可

    提示:

    • 在工作中,SSH服务器的端口很可能不是22,如果遇到这种情况就需要使用-p选项,指定正确端口号,否则无法正常连接到服务器
    3)Windows下SSH客户端安装

    3.2 scp(掌握)

    • scp就是secure copy,是一个在Linux下用来进行远程拷贝文件的命令
    • 它的地址格式与ssh基本相同,需要注意的是,在指定端口是用的是大写-p而不是小写的

    user是用户名,remote是远程IP
    1# 把本地当前目录下的01.py 文件复制到远程家目录下的 Desktop/01.py
    2# 注意: `:`后的路径如果不是绝对路径,则以用户的家目录作为参照路径
    scp -P port 01.py user@remote:Desktop/01.py  
    
    3# 把远程家目录小的Desktop /01.py 文件复制到本地当前目录下的01.py
    scp -P port 01.py user@remote:Desktop/01.py  
    
    4# 加上 -r选项可以传送文件夹
    5# 把当前目录下的demo 文件夹复制到远程家目录下的Desktop
    scp -r demo user@remote:Desktop
    
    6# 把远程家目录下的Desktop 复制到当前目录下的demo文件夹
    scp -r user@remote:Desktop demo
    
    选项 含义
    -r 若给出源文件是目录文件(文件夹),则scp将递归复制该目录下的
    所有子目录和文件,目标文件必须为一个目录名
    -P 若远程SSH服务器的端口不是22,需要使用大写字母-P选项指定端口

    注意

    • scp在这个终端命令只能在linuxhuo UNIX系统下使用
    • 如果在windows中,可以安装PuTTY,使用pscp命令行工具或者安装FileZilla使用FTP进行文件传输

    FileZilla

    报错

    解决方法
    1.防火墙的问题,由于我的防火墙日常关闭,所有跟这个没关系
    2.建立新站点,采用 stfp + 端口 22 的方式
    FIlezilla -> 文件 -> 站点管理->新站点->常规里的协议:STFP-SSH ->主机:远程的IP 用户名和密码->连接

    3.3 SSH高级(高级)

    • 免密登录
    • 配置别名

    提示:有关SSH配置信息都保存在家目录下的.ssh目录下

    1)免密登录

    步骤:
    1.配置公钥

    • 执行ssh-keygen即可生成SSH钥匙,一路ENTER即可 ,之后会生成id_rsa id_rsa.pub 两个文件

    2.上传公钥

    • 执行ssh-copy-id -p port user@remote,可以让远程服务器记住我们的公钥
      下图是操作结果

    示意图:

    本地使用私钥对数据进行加密/解密
    服务器使用公钥对数据进行加密/解密


    非对称加密算法

    • 使用公钥加密的数据,需要使用私钥解密
    • 使用私钥加密的数据,需要使用公钥解密

    2)配置别名

    每次输入ssh-copy-id -p port user@remote,时间久也很麻烦,特别是当user,remoteport都得输入,而且还不好记忆
    但配置别名就会很方便了,例如:ssh mac
    具体操作是在本地计算机的~/.ssh/chonfig里追加以下内容:

    Host mac
       HostName ip地址
       User 用户名
       port 22
    

    保存之后,就可以使用ssh mac实现远程别名登录,scp同样可以使用

  • 相关阅读:
    puppeteer,新款headless chrome!
    圣诞快乐,而且写博客有两年了~
    es2015及es2017对我们的编程方式造成了什么影响?
    Redis的安装和部署
    ActiveMQ5.0实战三:使用Spring发送,消费topic和queue消息
    hsweb 企业后台管理基础框架
    通过Spring Session实现新一代的Session管理
    mod_pagespeed
    unusedjs
    apache模块 合并多个js/css 提高网页加载速度
  • 原文地址:https://www.cnblogs.com/AI-robort/p/11870937.html
Copyright © 2011-2022 走看看