Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包: - / x* t( m' S; r: M) J8 t
# V% e" X4 x3 X4 i, z: n2 e
sudo apt update
. r% E, P% P: d8 l1 W
3 e9 p( ~1 V" W$ t
! ?1 X' w/ @6 l. n( t/ B0 |; m- [
6 d x# q% K p3 s Osudo apt install openssh-server
- b1 b% h1 L; ^7 y9 ^
9 i' i9 t; N, N# w& I$ s
* P0 @& b3 d1 u; o' H$ c0 w/ b
当被提示时,输入你的密码并且按 Enter,继续安装。 
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动: - & b8 b* z6 L/ F& }, E: X
6 k5 @/ c1 E8 V1 E$ ^
● ssh.service - OpenBSD Secure Shell server
2 \$ X8 ?, ?! q k3 [ y& p. j4 b: J* z4 Z) y' k
- ; P* |9 q6 q# s, _) K
: F$ v* _( x& A4 E4 `# M Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
3 o' k$ ?" x0 P8 n: E; B; A# m$ g; _ h% \7 s8 V
- . b+ L# Y- n7 B5 F7 b+ _
8 j* S4 c O) T* X9 }
Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago
6 P- S' I4 c c) ~& u0 s- |. v" j; Z e2 v7 D4 Z; C- ]
- 3 P/ v" ?2 F0 `/ Z# q6 x0 G, p
^+ R( r9 L( [.... V, _0 P1 c* _
9 v8 Z( E4 ?5 V5 a5 ?. T
: }( Q, m7 J2 [3 j
按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当你第一次连接时,你将看到下面的信息: - - T3 J7 o$ o8 c
2 U; f: s1 \- \$ ^
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established." A9 X$ t, V) ~3 t; Q3 l
/ q5 N( X; q: e+ ]# ^- r- D
- 3 S' f! d& h% L# x: g. @2 L! _3 k
7 }. `$ @. Y$ D1 N" [5 W$ C
ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
$ [% s$ h9 f* _* { m7 F* x/ }: w9 C6 J3 ? r* W. j" B
! \/ F3 E6 w- W$ m
0 T: y4 j* i8 tAre you sure you want to continue connecting (yes/no)?0 v( x7 e$ j' [% O* p5 J
; i# Y" W7 C0 _. w3 [! R' D: r7 ~( S
5 y: {3 `' }& s$ X1 x: t9 n) \
输入yes并且你将会被提示输入你的密码:
" b5 s7 U. @& o% S) D6 v! R& w4 b( r5 {9 q1 x& P4 G6 t
Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.
4 k/ M/ B' ]# ~: }5 f z9 z( K3 J, i* y/ p4 e! R, w9 j- {
7 B w9 v8 h) L- w4 c5 S9 z. ?& }
: [+ f% m0 }; L jlinuxize@10.0.2.15's password:, H6 G* ^' f I, ?6 }8 n: M1 u
% r2 q& X+ a1 \5 R7 W5 S
2 D" S v* G0 h7 B3 t# d
一旦你输入密码,你将会看到默认的 Ubuntu 消息:
( |$ h6 a7 z9 W! j& @2 U5 @- k; t% V6 b6 `/ ]3 b, R, Y6 Z% i
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)
" e+ x8 u# u' [
0 P, i2 j6 w9 c, H& L
% X1 X. O" z1 Z8 S; A a* ]; e/ |+ | O; W
: M Z K0 S, q6 C# C
/ X7 c, H. I0 J+ p8 Z6 J
& ?& a( c6 C2 [, K# F% r& O- Y0 w) h) j4 s5 g+ [. P3 b: B/ ~
* Documentation: https://help.ubuntu.com0 T) Q+ m5 m' ^+ g. [
. D' v3 [+ z$ }2 h6 y
- 2 t8 R4 x+ I3 O# S& p- A
# B( i: [% ~5 O' e$ | F; _
* Management: https://landscape.canonical.com+ c3 m$ r6 W& n4 F( q
+ O. o) q8 Z% d
4 h: m3 E/ {( \
9 b- r$ G0 H7 k; Q# G0 e3 P * Support: https://ubuntu.com/advantage
* J/ l: g; b% N' m4 b8 F V# L6 E* c0 W& p" b
, z$ B2 ?! q k9 _& R0 ~8 J" C, T$ ~( f+ C4 K
...2 ~# u2 v6 [. s0 ]2 ]
8 O5 ]- g, p9 J( D
( B4 N, n% W- ]. r
现在你可以登录到你的 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 手册。 |