Linux:ssh远程登录Linux主机

1.前言

  • SSH 是一种网络协议,用于计算机之间的加密登录;
  • 如果一个用户从本地计算机,使用 SSH 就可以实现协议登录另一台远程计算机;
  • 一般认为,这种登录是安全的,即使被中途截获,密码也不会泄露;
  • 本文介绍的方法,是通过配置 内外网映射条件,实现在 外网环境 下远程 ssh 登录 Ubuntu 主机。

2.环境

  • 被连接服务器:macOS Sierra 10.12.6
  • 发起登录主机:windows 10
  • 网络环境:外网

3.工具

  • xshell;
  • ssh 协议;

4.配置 Ubuntu

  • 在 Ubuntu 主机上安装 openssh-server & openssh-client;
sudo apt-get update  # 更新 apt-get 工具
sudo apt-get install openssh-server
sudo apt-get install openssh-client 
  • 配置 sshd_config 文件;
sudo apt-get install vim  # 安装 vim 编辑器,如已安装请掠过
sudo vim /etc/ssh/sshd_config

进入 vim 编辑器界面后,修改如下配置;

Port 22                       # 默认22端口,如果有端口占用可以自己修改
PermitRootLogin yes           # 如果配置文件中没有这行内容,需要手动添加
PasswordAuthentication yes    # 密码验证登录
  • 启动 ssh 服务;
sudo service ssh start
  • 查看 ssh 服务运行状态;
ps -aux | grep ssh

得到下图,表示 ssh 服务已在运行;


image.png

也可使用 netstat 查看 ssh 状态;

netstat -a | grep ssh

得到下图,表示 ssh 服务已在运行;


image.png

5.配置路由映射

  • 打开浏览器,登录 192.168.1.1 网络管理界面;
  • 依次找到 高级设置→ 高级用户→虚拟服务器→添加,点击 添加
  • 在外部端口输入外部端口号,可以自由定义比如 8888、9999等;
  • 在内部端口号一栏输入 22,这里的 22 即为 ssh 服务端口号;
Linux:ssh远程登录Linux主机_第1张图片
image.png

6.登录连接

  • 查看 Ubuntu 主机的外网 IP 地址;
sudo apt install curl   # 安装 curl,如已存在则略过
curl ifconfig.me

得到 Ubuntu 本机的外网 IP 地址,为 XXX.XXX.XXX.XXX;

  • 打开 scureCRT 建立 ssh 连接;

你可能感兴趣的:(Linux:ssh远程登录Linux主机)