Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包: - - `5 h5 R- D! }5 d* H$ n8 c
- |' F8 M1 e1 k- b5 C$ rsudo apt update7 ^8 O! _0 Y) O$ h2 w
3 c* H( ]$ E1 F9 g7 B
5 n% w% e n+ U# u5 x: o
* R$ _& o+ z% e" f" Q# {2 q4 o% Vsudo apt install openssh-server
/ s0 O* m, ]9 Y/ B( v: `: S! X [7 U+ r6 ?
8 h8 P0 f3 \- X+ U+ n" o' A
当被提示时,输入你的密码并且按 Enter,继续安装。 
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动: - ! J1 u) B8 C( r+ I
1 r, q) N* _+ b. @ c4 B* `4 t
● ssh.service - OpenBSD Secure Shell server
! G! b( G. g7 |# d( E6 E' D
/ u, l4 c- I2 r1 P1 V8 a - 3 ?7 g+ _1 V2 @3 ] C5 n
t; n. K; G9 @* y8 e
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
# `8 t. T$ j& D1 u
# {5 [5 q- J* n. l1 z9 ?: Y - 1 [+ Y2 |, ~3 D1 p% N( M3 s, f" F
) Z" L% N- }" l& D1 J8 M Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago
6 Q( X y9 P2 m( y6 m
+ k8 f5 P* U6 p5 w5 U9 Q0 C
+ ~) W5 Y% e8 E- B( |0 Z
- r7 s' |: Z) Y* K...6 K/ x* V: v; E, d E# g- I! K
/ y8 u @* y& l
9 F3 \+ J( {* W0 d- ~
按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当你第一次连接时,你将看到下面的信息: - ' \' {$ |# @! L7 b4 f
) c+ ^( y8 O0 h. a. N
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
% M9 H; Q; `' B8 q; D* g- T* {& \" ?1 L& x
- ( z. i2 q8 w; D2 m: c' m9 j% R
7 i" } {1 K9 {; |$ D0 oECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.1 \; C3 @1 Y. _1 e/ y
; m" K. V1 U- L/ u. E3 ? _$ U - 2 O4 h1 F" M1 u; A! V0 E
1 D' ]& w# w/ c) F b5 r2 x
Are you sure you want to continue connecting (yes/no)?% ]) u/ }$ ^5 I" S/ q4 o) {0 z
' s& X! {$ S5 ]# h" y3 L1 M `( J
! ?; }. g/ L5 V
输入yes并且你将会被提示输入你的密码:
9 L3 G: T7 }5 H& j0 S4 y+ i7 z
* l/ Q7 I r+ J3 V8 N& ^( oWarning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.5 z* O* e6 h( l# b& V: X
* G$ Q4 g7 N. M" Z9 Y8 ~" z' b
- 7 k9 K- u) s5 I2 ~2 }" r+ z5 S
" \7 P, ]( Z' q7 C' Vlinuxize@10.0.2.15's password:: N: g8 p& k# d% R$ @
% d( N/ A/ j- d0 n8 T( b: `! m
0 h+ A) @% x1 o$ E2 d4 y% o9 J
一旦你输入密码,你将会看到默认的 Ubuntu 消息: - 0 m$ I: u- b8 C
8 l0 F' K/ [7 _, [/ p. N" D0 \2 M
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)
9 T& h" S5 J8 h$ ~; N2 g; l- ~! M1 ^; T. W
5 s+ M" N# U* T9 C# j& \! S( C6 b- U) W6 S- O$ k
0 F+ l1 h, A7 `5 P2 G! x; b. O1 T/ m
# C" X" \$ W }; }- 2 a/ g& n p2 g: Y. n# |
1 h: E7 ^& ~) I. W7 A2 f) \ * Documentation: https://help.ubuntu.com [! Y: R6 `: `. W8 J$ H! i+ l
5 m, |7 m9 u, O* a5 J - % ~/ c J$ J( A$ D% K
! C; I/ Q% h* l/ U2 A- } * Management: https://landscape.canonical.com
3 `. K8 O- l) a/ @1 U! |; |' f
! X" |5 V/ m$ h0 ` ~$ v8 r - : M* |2 C9 o; y8 M5 u. x# O
v9 W( r' s! [6 d. R
* Support: https://ubuntu.com/advantage
' ^; W5 J9 j$ y, y/ |2 I4 I1 l. x1 A9 n! f5 h' E; K' j6 ^
- % u) U% d7 ^9 @
" c: G0 M! T) R- ~' c/ {2 ]: E/ E...* Q2 [: I( K0 e/ X& i
* l5 S7 `* X' |! U- w4 {, i
q g" |7 r6 J
现在你可以登录到你的 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 手册。 |