Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包:
- K$ ^0 U' n0 W. T4 x
; m* A, O. a3 ^% Dsudo apt update
2 c) M" j# V8 I2 Z5 S$ B* {9 J5 X, A0 v& }9 G6 R& u |' c
, M# B, j/ s) W9 ~; Z
, D4 u: c+ D! O! Qsudo apt install openssh-server6 i5 z$ n5 D8 C- c5 l
, o% r( j: |% n
6 i" p5 P& B8 y$ Z# D
当被提示时,输入你的密码并且按 Enter,继续安装。 
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动:
1 i3 U. y7 N# r7 f) x
: O: k. g) [5 O) ]9 c● ssh.service - OpenBSD Secure Shell server( ~$ F) S; c$ i4 J
, M- m/ e! f X- 5 Q' [/ R# Z1 y1 G# D
3 }2 S7 T' a& E! K, { Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
& k+ ?6 d/ Y2 x/ u# O3 g
: p, \+ W( D- o' m# @% w7 U, P
' V1 K: e( n& V- `1 _0 o3 ^' Z. H8 d1 O$ C
Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago
! t2 `' j+ r# b/ j) N. G4 `6 C3 K
- ) s: h" @( P2 A4 ^
8 @# x) A/ H1 f$ j0 k
...5 x6 a" l1 [ E
' T7 l* q! }( L$ ^4 H4 a- i8 E
& T! y9 a; i# x# f. @3 h9 O
按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当你第一次连接时,你将看到下面的信息:
& d/ k t& B6 b. Z# X0 t4 G6 B& _$ |1 j8 d+ l
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established./ K! q' d. d7 }9 _! c
2 g2 E+ m) y2 Q$ O) ?3 a* P/ h; w
, T# T+ P, b8 z$ x) Z, f! z+ ^8 g z/ C9 |1 A+ b2 X
ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
/ H5 ]8 Z6 h# D. k
H6 D& X8 C+ a& O6 l- F- / k6 H, N) @* R4 R9 s
; [- L5 A& v$ G/ u9 I2 [0 v9 M
Are you sure you want to continue connecting (yes/no)?
5 `' |; q) w G7 {6 H& S! s/ x- d$ ?# O
. c) d! b5 e, a" Q) F
输入yes并且你将会被提示输入你的密码: - 6 i4 O- E5 c3 ?+ Z( e5 r
; ^5 {% T3 Y+ D% D: R6 L) I7 FWarning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.
( q4 |4 d% L4 B0 m8 e: D2 M) s& w; z0 L) u5 p5 R/ }
- " p$ x; Q, d3 R/ [
5 G: J& R: A3 n2 B6 t5 n$ O& i/ Xlinuxize@10.0.2.15's password:9 D3 | ]8 }6 b" q% `6 Z1 m
/ g3 A1 b1 P G& |+ Q0 {/ n y
: R4 P i7 H: O# [' M) _
一旦你输入密码,你将会看到默认的 Ubuntu 消息: - # B/ A! F' I: M' e1 x2 b
; I9 Y; d: I* Z3 h, d K: [Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)
' Y2 V, R1 }* q8 Y' {/ h+ B K/ m8 b1 t" [1 V, t4 }% @( J' ^
- 7 x: p8 h3 m3 T* z3 I: u; J9 s* @
6 J( E4 B8 B5 ?2 }; N, n" P5 I; }
, v5 \) V# F6 b: R9 x4 F8 E+ ~ - 7 V. j; X) r6 ~- x$ }6 N( h. J
" p) B& j! O$ p* d
* Documentation: https://help.ubuntu.com8 I t! ~( k5 B5 H2 g
! w: A. o% m0 a( U$ T
g6 Z) i+ |! T: v# X7 E
7 o V% a: h- `! }$ r * Management: https://landscape.canonical.com
9 T% R' I; g9 p" P8 m+ u5 r
* i$ Y, B: q5 |9 k& B5 V; h" A
( T; L) w/ j1 h# ~; T3 ^7 H& X! A! o/ a- h9 V
* Support: https://ubuntu.com/advantage
( |2 p3 b9 B8 I8 i1 \5 C! g$ l# l; D7 `3 Y
- 1 c( d) m4 |+ Y' Y
) V8 Y% {& [' z...
) s) C ~. @8 C4 [0 `+ A, h6 V: V& Q2 g' U0 _
$ l, a8 g K @" _6 h3 q; J1 S$ \
现在你可以登录到你的 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 手册。 |