SSH远程登入
2020 年 03 月 23 日 4011 843 字 暂无评论

SSH命令基础

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

  • SSH 客户端是一种使用 Secure Shell(SSH) 协议连接到远程计算机的软件程序
  • SSH 是目前较可靠,专为远程登录会话和其他网络服务 提供安全性的协议

       ○ 利用 SSH 协议 可以有效防止远程管理过程中的信息泄露 
       ○ 通过 SSH 协议 可以对所有传输的数据进行加密,也能够防止 DNS 欺骗和 IP 欺骗 
  • SSH 的另一项优点是传输的数据可以是经过压缩的,所以可以加快传输的速度
    请输入图片描述
  • 注意:

    ○ 数据传输是 加密 的,可以 防止信息泄露
    ○ 数据传输是 压缩 的,可以 提高传输速度
    

域名

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

端口号

  • IP 地址:通过 IP 地址 找到网络上的 计算机
  • 端口号:通过 端口号 可以找到 计算机上运行的应用程序

       ○ SSH 服务器 的默认端口号是 22 ,如果是默认端口号,在连接的时候,可以省略 
  • 常见服务端口号列表:
    请输入图片描述

SSH 的简单使用

○ ssh [-p port] user@remote

  • user 是在远程机器上的用户名,如果不指定的话默认为当前用户
  • remote 是远程机器的地址,可以是 IP/域名
  • portSSH Server 监听的端口,如果不指定,就为默认值 22

Windows 下 SSH 客户端的安装推荐

   ○ 以上软件我都亲测使用过,用户体验来看,我更推荐FinalShell有可视化界面管理文件,自带工具可以直接从windows下拖文件到Linux里
   ○ 建议从官网下载,因为基本都是免费的,其他网站下载容易携带病毒

SSH 免密码登录

步骤

  • 配置公钥

     ○ 执行 ssh-keygen 即可生成 SSH 钥匙,一路回车即可
  • 上传公钥到服务器

     ○ 执行 ssh-copy-id -p port user@remote ,可以让远程服务器记住我们的公钥

    示意图

请输入图片描述

  • 注意:

    ○ 本地 使用 私钥 对数据进行加密/解密
    ○ 服务器 使用 公钥 对数据进行加密/解密
  • 非对称加密算法:

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

配置别名

  • 每次都输入 ssh -p port user@remote ,时间久了会觉得很麻烦,特别是当 user , remoteport 都得输入,而且还不好记忆
  • 配置别名 可以让我们进一步偷懒,

    ○ 譬如用: ssh myserver 来替代上面这么一长串,那么就在 ~/.ssh/config 里面追加以下内容:
    ○ Host myserver
    ○   HostName 121.36.166.89
    ○   User root
    ○   Port 22
    

其他补充知识

scp

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

请输入图片描述

请输入图片描述

  • 注意:

     ○ scp 命令只能在 Linux 或者 UNIX 系统下使用 也就是 Windows 里不能使用,Mac 可以使用
     ○ 如果在 Windows 中,可以安装 SSH客户端 使用 pscp 等工具,或者安装 FileZilla 使用 FTP 进行文件传输

    FileZilla

  • 官方网站:https://www.filezilla.cn/download/client
  • FileZilla 在传输文件时,使用的是 FTP 服务 而不是 SSH 服务 ,因此端口号应该设置为 21

版权属于:zfh

本文链接:http://zfhblog.com/index.php/archives/9/



评论已关闭