2-3 远程管理命令-SSH工做方式简介

03.远程登陆和复制文件

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

3.1 ssh 基础(重点)

在Linux中SSH是很是经常使用的工具,经过SSH客户端咱们能够链接到运行了SSH服务器的远程机器上php

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

域名html

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

端口号linux

  • 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 若是没有看到进程相似:shell

就说明没有启动或安装
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地址:端口号,或者不用输入端口号windows

2)SSH客户端的简单使用

ssh [-p port] user@remote安全

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

提示:服务器

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

注意:网络

  • ssh这个终端命令只能在linuxUNIX系统下使用
  • 若是在Windows系统中,能够安装PuTTY或者XShell客户端软件便可

提示:ssh

  • 在工做中,SSH服务器的端口极可能不是22,若是遇到这种状况就须要使用-p选项,指定正确端口号,不然没法正常链接到服务器
3)Windows下SSH客户端安装
  • Putty https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
  • XShellhttp://xshellcn.com

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

  • 官网:https://filezilla-project.org/download.php?type=client
  • FileZilla在传输文件时,使用的是FTP服务而不是SSH服务

    报错

解决方法
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一样可使用

相关文章
相关标签/搜索