Linux基础——怎么样从 MacOS 或 Linux 通过 SSH 远程 Linux

1.前言

使用 ssh 远程操作 Linux 我觉得是我用得最多的一种形式了. 我有一台 MacBook pro, 但是我的 Linux 电脑硬件稍微好一点. 所以我很多时候是在 Mac 上写代码, 用 Apple 的朋友你懂的, 它的屏幕的确不错, 写起代码来眼睛舒服
所以这个教程对需要远程控制 Linux 的朋友非常有帮助. 能大大提高你的生产率. 并且 SSH 是一种加密的通信通道, 也能保证你的安全.

首先强调一点, 这套”远程”操控的方法实际上也不是真正的远程. 这节的教程教你的方法是在一个局域网内远程操控电脑 (在一个路由器下). 你当然可以把它做成在互联网中的远程操控, 不过技术难度上加了一个等级, 如果你想是想人在公司, 却要操控家里的 Linux, 有一个方便免费的软件 (TeamViewer) 可以提供你参考

在家中同一个路由器下, 我们完全可以使用 VNC 或者 SSH 来实现远程操控 (VNC 就是一个将你 Linux 屏幕输出到另一台电脑上的软件, SSH 则是将你现在电脑的 Terminal 链接上 Linux Terminal, 用代码控制 Linux). 使用 SSH 将会更加顺畅 (VNC 输出桌面图像会卡), 所以如果你有能力, 那就尽量使用 SSH 吧. 这节内容, 我们来说说怎么样使用 SSH

2.给 Linux 安装 OpenSSH

为了实现 SSH 功能, 你得确定你的 Linux 上有安装了 SSH 服务, 通常可能是没有安装的. 所以我们将要安装一个开源的 SSH 工具, 叫做 OpenSSH, 将你的 Linux 变成一个服务器 (就是像你访问网站一样访问你的 Linux). 在 Linux 上打开你的 Terminal, 然后输入下面这句话安装 openssh-server. sudo 是使用管理员权限的意思, 所以回车后它可能要求你输入你用户密码.

$ sudo apt-get install openssh-server

如果你之前没有安装过, terminal 会提示你将要有多少东西被安装, 需要你确认. 确认完了以后, 它将会帮你继续安装.

3.Mac 或 Linux SSH 去 Linux

现在你的 Linux 是一个可以被 SSH 登录的状态了. 我们先从 MacOS 或者是你另一台 Linux 远程这台 Linux 开始. 因为 MacOS 和 Linux 都是类似的系统, 所以操作起来比 Windows 简单.

我有 Mac, 所以使用 Mac 来 demo 具体操作, 这个操作和你用 Linux 操作 SSH 是一样的. 你只需要打开 Mac 上的 Terminal. 然后输入:

$ ssh [要控制的用户名]@[它的IP地址]

举个例子, 我要用 mac 来操控的 Linux 的用户名叫做 Mr, Mr 这台 linux 的 ip 地址可以这样获取. 首先, 回到要控制的 Linux 上, 确保你操控和被操控的两台电脑连接上了同一个路由器. 然后在你 被操控 电脑的 terminal 上输入这个获取 被操控 电脑的 ip 号码.

$ ifconfig

如果它提示你没有安装 ifconfig, 你就按它的要求安装就好. 输入下面指令就能安装.

$ sudo apt install net-tools

确保 ifconfig 能用后, 输入 ifconfig, 接着找到以 inet 开头的字样, 这就是你在这个路由下的 ip 地址了. 比如我现在的 ip 是 192.168.0.114

inet addr:192.168.0.114

找好了 ip (192.168.0.114), 知道你被操控电脑的用户名 (Mr), 现在回到操控电脑的 terminal (我的 Mac). 在 terminal 中输入之前提到的 ssh 开头的命令. 然后它就会要求你输入被操控的 Linux 的用户密码. 很显然, 只有知道密码的人才能登陆你的 Linux, 不然就太容易被黑了.

$ ssh Mr@192.168.0.114
Mr@192.168.0.114's password:

有可能你在尝试这样直接 ssh 的方式失败. 像我, 刚从16版的 Ubuntu 升级到 17 版, 我的 Mac 由于某些原因不让我 ssh 去 17 版的 Ubuntu, 显示了下面的报错, 后来查了一下, 找到了一个解决方式.

ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
ERROR: @    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
ERROR: IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
ERROR: Someone could be eavesdropping on you right now (man-in-the-middle attack)!
........
ERROR: ECDSA host key for 192.168.0.114 has changed and you have requested strict checking.
ERROR: Host key verification failed.

如果你也看到上面这种报错, 直接在你的电脑上 (我的 Mac 上) 的 terminal 运行下面这个:

 ssh-keygen -R 要 ssh 去的 ip 比如下面这样
$ ssh-keygen -R 192.168.0.114

恢复正常后, 接着再按上面的步骤 ssh 去 Ubuntu. 输入, 确认密码后, 你在操控电脑的 terminal 就会瞬间变成被操控电脑的 terminal 啦. 他会显示这样一些信息证明你登录成功. 现在你就能自由的运用之前所学的 Linux 的指令, 在你的电脑上远程操控 Linux 电脑啦.

Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-96-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

147 packages can be updated.
53 updates are security updates.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值