Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包: - 3 p' T7 w1 Z- k) z% T
5 ?* M6 ]" g! `3 I4 o, Jsudo apt update! e" h& y% D8 s, Y1 v g! v
4 X; I, p2 X9 L' Y
! N4 A# k$ u, R5 ^8 Q2 {9 Z! ^4 G" z( j5 v k, u& a
sudo apt install openssh-server
. T, \9 p$ }, f, H( j" f% s
5 j. Q% l' h1 |: G
7 C- k0 }/ i c9 c: L! v U5 t7 r# o
当被提示时,输入你的密码并且按 Enter,继续安装。 
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动: - 9 l9 E, r2 E! h: d
) ]3 v" S! ]. O G" f● ssh.service - OpenBSD Secure Shell server1 s4 J5 P$ e2 @: h& w6 v
6 D1 o8 u X2 k7 T# | - 5 Y+ h5 u& V$ }. S7 [- |' d7 g
( O. W% `; o; Y' q A T9 Y- U
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)+ B2 T- g+ Z F& P
, D2 v+ Z" K! D3 F9 v i' a
- * b" ~. [! X5 ~* a
. Y- |1 Y3 Q+ \ b" }) Z Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago
9 R; `- H- F/ r% \' d- ^) I9 Y: I5 d5 d
$ C" L) Q% G" V2 d) L7 W
* A) ?8 K z1 \# k1 D" S* f8 [3 d9 x...
2 a7 Y; P8 _0 d$ A4 ^6 v3 ~
2 `7 Z6 _4 V4 V" T- }4 b3 }# h0 w
按q返回命令行。 03.Ubuntu 自带一个配置防火墙配置工具,称为 UFW。如果防火墙在你的系统上被启用,请确保打开了 SSH 端口: sudo ufw allow ssh就这些。现在你可以从任何远程机器上通过 SSH 连接到你的 Ubuntu 系统。Linux 和 macOS 系统默认都安装了 SSH 客户端。想要从一个 Window 机器上连接,使用一个 SSH 客户端,例如:PUTTY。 二、连接到 SSH 服务器想要在局域网内连接到你的 Ubuntu 机器,以下面的格式输入 ssh 命令,加上用户名和 IP 地址。 ssh username@ip_address确保你将`username`修改成你自己的用户名,`ip_address`修改成你安装了 SSH 的 Ubuntu 机器的 IP 地址。如果你不知道你的 IP 地址,你可以使用ip命令轻易地找到它: ip a
你可以从输出中看到,系统 IP 地址是10.0.2.15。 一旦你找到 IP 地址,通过运行下面的ssh 命令登录远程机器: ssh linuxize@10.0.2.15当你第一次连接时,你将看到下面的信息: - 8 |' p) n7 y Z8 I; ^; y
- Y% b6 f# c; @+ g' N5 p1 p$ F9 PThe authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
3 A! e; X# T3 n+ G7 C
' Q) R& [ Z( a) A0 w) O! r - ( p' P/ R) {. N# ^ }# a
1 R* R0 P3 F- Z( J- t
ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY. o9 O2 ?6 o' U. P: c4 ~/ U. u' v- G% B
4 |% h$ q! h# r X2 p
- 5 Q6 B% r( N! Y1 u2 I m" U5 {, x
- G' P7 ^. Q0 K: p4 q; lAre you sure you want to continue connecting (yes/no)?! P2 g. `: r' r( e H' I
U& ]4 G" F3 u$ ?9 u8 ?+ o" a( r2 R5 }* U) ?' m0 t7 V9 R5 T
输入yes并且你将会被提示输入你的密码:
1 S* X& s: \1 Q! G9 d* A9 z0 Y, G7 m, J
Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.
7 g9 U; Y. S0 g/ k) h9 j J! U0 `; V0 U( x \1 @8 s3 M0 R3 c$ a
- ' B* z4 t4 i- m A6 Z9 r. {( }* a
. q- |6 ?/ R3 L Ulinuxize@10.0.2.15's password:! ^0 S8 v3 [; d: p# M3 h5 v
; O+ C6 k, y/ R' `8 r7 _* b
6 ]0 ?: S, c) n* b7 \) ]
一旦你输入密码,你将会看到默认的 Ubuntu 消息:
: y3 d$ z* {; [" x0 n: n/ H1 j8 L* }# G' o, B, v+ L
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)
' R/ J& ?# m8 j# f- Z/ p
- K; S: J0 [9 Q$ a
) Q4 K* b- G) |. N8 t
, n/ S% D% N+ n7 G0 G: M9 c3 j4 H, q# [* L' K$ \, f
, `& v3 e+ w6 b5 I3 W: _* u- . Z" m! I9 t* O/ E# a( ?# S. X
- t- L A) y& O. ] * Documentation: https://help.ubuntu.com; m2 Z) ?. i' Q. G! R# j; D
5 l% N. X- K) }: [# F
: j; [, k, _) D8 r' |6 A
; l* F0 z/ x" h% f1 G) Q: L * Management: https://landscape.canonical.com8 _; J1 w! r7 G/ T7 D
5 w0 J3 }! g0 {5 N
: P, C) C6 @7 b s P5 S9 ~& W( D4 W, D9 g
* Support: https://ubuntu.com/advantage
* `# y$ z+ R8 A0 Q0 v' }- ]* X( N3 j
- 8 g$ B+ A( c$ ]- `3 c" a7 Q* s
' A* r+ W# X0 D. s, Z( c...7 O1 y8 \ Z/ d9 l
: `! @2 T0 `* W4 Z) B% ]2 _( F
8 _! \- M L- O# t: G8 c1 d
现在你可以登录到你的 Ubuntu 机器上。 三、连接到 NAT 后面的 SSH想要通过互联网连接到你的 Ubuntu 机器,你需要知道你的公网 IP 地址,并且配置你的路由器接收端口22的数据,并且发送它到正在运行 SSH 的 Ubuntu 机器。 想要获取你尝试通过 SSH 连接的机器的公网 IP,在这个机器上访问 URL 地址:https://api.ipify.org。 当设置端口转发时,每一个路由器都有不同的方式来设置端口转发。你应该参考你的路由器文档,关于如何设置端口转发的信息。简单来讲,你应该输入之前设置的 SSH 端口号 22,以及之前服务器的私有 IP 地址。 一旦你找到 IP 地址,配置你的路由器,输入: ssh username@public_ip_address如果你将你的机器暴露在互联网中,你最好采取一些安全措施。最基础的一个措施就是配置你的路由器接受一个非标准端口的 SSH 流量,并且转发到你运行 SSH 服务的机器的端口22。 你也可以设置 SSH 密钥公钥验证方式,之后你就可以不使用密码就可以连接到你的 Ubuntu 机器上了。 四、在 Ubuntu 上禁用 SSH想要在你的 Ubuntu 系统上禁用 SSH 服务器,简单停止 SSH 即可,输入: sudo systemctl disable --now ssh稍后,你可以重新启用,输入: sudo systemctl enable --now ssh五、总结我们已经向你展示如何在你的 Ubuntu 20.04 上安装和启用 SSH。 现在你可以登录你的机器,并且通过命令行执行每天的 sysadmin 任务。 如果你管理多个系统,你可以通过将你的所有连接都定义在 SSH 配置文件中,来简化工作流程。修改默认的 SSH 端口将会使得你的系统更安全,减少自动攻击的风险。 想要获取更多如何配置你的 SSH 服务器 的信息,阅读 Ubuntu SSH 配置指南 和 官方 SSH 手册。 |