对ssh的初步认识

ssh原理与应用

问题来源

ssh是什么

熟悉的ssh应用

ssh的基础

  1. 默认端口22
  2. ssh主要用于远程登录
    • ssh user_name@target_host ssh 用户名@目标IP地址
    • ssh -p 2222 user_name@target_host
    • 使用参数-p修改登录地址,有些为了安全,服务器没有使用22端口作为ssh登录端口

ssh的安全

ssh尝试

  1. 从ss节点中找一个服务器地址
    • ssh-host
  2. 用xshell登录,填入地址端口22
    • ssh-login
  3. 确认公钥指纹是否正确
    • ssh-pubkey
  4. 输入用户名
    • ssh-username
  5. 输入用户名对应密码
    • ssh-passcode
  6. 可选public key认证
    • ssh-keylogin

ssh转发

  1. 绑定本地端口,ssh -D 8080 user@host 让所有通过本地8080的数据通过ssh传向远程主机。
    • 软件可以设置走本地8080端口的。
  2. 本地端口转发
    • 假定
    • host1是本地主机
    • host2是远程主机
    • 由于种种原因,这两台主机之间无法连通。
      • host1不能直连host2
    • 但是
    • 另外还有一台host3
    • 可以同时连通前面两台主机。
      • host1 可以连接 host3
      • host2 可以连接 host3
    • 通过host3,将host1连上host2。

    • $ ssh -L 2121:host2:21 host3
      • 命令中的L参数一共接受三个值,分别是”本地端口:目标主机:目标主机端口”,它们之间用冒号分隔。这条命令的意思,就是指定SSH绑定本地端口2121,然后指定host3将所有的数据,转发到目标主机host2的21端口(假定host2运行FTP,默认端口为21)。
    • 这样一来,我们只要连接本地的2121端口,就等于连上了host2的21端口,就可以访问host2 21端口的服务了
      • $ ftp localhost:2121
    • $ ssh -L 5900:localhost:5900 host3
      • 它表示将本机的5900端口绑定host3的5900端口(这里的localhost指的是host3,因为目标主机是相对host3而言的)。
  3. 远程端口转发
    • 绑定远程端口的转发。

host1 是家用电脑,在公网
host2 是公司主机(比如内部数据库), 在内网
host3 是公司办公电脑,在内网

现在,host1连不上host2,也连不上host3。但是,host3可以同时连上host1和host2,所以要通过它中转。

Table of Contents