|
Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包:
: a9 p9 P: s1 u; Y' a8 Y& w) o2 \+ e, n4 h& z# Y
sudo apt update
5 r4 ]/ _3 e9 b% i" Z6 E! V* h. E9 Q8 F' N
0 h8 N3 m& [& W. O. k7 z3 I
8 T8 [+ x; Q4 Fsudo apt install openssh-server: u4 k3 N( D% E+ z. F, g0 R& J
4 K# R& | M* G( ]( R0 w! x
' t. U3 T' c, K0 _; y5 ?2 K
当被提示时,输入你的密码并且按 Enter,继续安装。 
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动: - P' x0 B. M$ G Z R! v1 I$ y. c$ `
* w5 v# T) V8 V: x) e7 [2 M# n. n● ssh.service - OpenBSD Secure Shell server
. G& M6 P' s( G6 p3 ]8 |5 ^. ^1 ^
, h2 V2 M) S, W
4 `5 G7 ]" H; N$ H7 z% y% Y2 k
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
8 I0 J" @' U2 a" O$ E4 R; S
" J/ t/ i" ]1 [" ?9 n+ X
" z, g5 v& T4 [9 ~5 [, \
% n1 a; j. Y, E! ]' F3 J7 k& j- ?7 g Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago; q5 F; o. z; p: Z; E& e8 K3 a
/ v& ]+ Y6 ]8 }: c. H
, _' J/ a/ a* W; M i% b) ~4 J* B5 H# }% M8 t& B7 I
...; R/ d3 f& \2 f1 n9 [
% n5 s: O2 H% j8 m( _- [: h- [5 I
* w8 n" P* f2 \9 J2 u) m$ L
按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当你第一次连接时,你将看到下面的信息: - ; J4 v& ^% g7 D$ g3 ?% @
7 U8 n! l9 U' h. T: H6 r
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
/ `2 F3 ^2 h$ v
2 L; p5 b. B/ f3 c6 w9 ^
) U) u& Z( X5 j
$ G& L. b( @" L- CECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
6 D y& V9 b& _; p1 P6 }
0 t. a5 `$ y2 h
7 I" g' u/ f2 V/ V+ z2 G) K5 x9 C
9 d: }: O% o: AAre you sure you want to continue connecting (yes/no)?& T: [3 d" h k& U7 _% N9 V1 m
, l7 c2 p' w1 U$ `& o/ I X: Y+ U
( M. X) T u( W5 q
输入yes并且你将会被提示输入你的密码:
9 w/ m J- s( A% _; g
# S9 _5 K `- K1 l; V* [" wWarning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.
+ \* z N' X' I! E% y; ?
# q; Z/ h; |; s6 h( {
- Y" v$ v9 q5 }; h9 p' o5 L# O% i4 l% U
linuxize@10.0.2.15's password:
! @) ~- q- _. M5 i) n, w5 l8 ^2 L5 K, D! V
9 I" n: s: ?9 x1 N
一旦你输入密码,你将会看到默认的 Ubuntu 消息:
" F/ m) t3 x6 r2 f4 V# l9 [1 C$ p6 R# P
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)' U5 W. `: ~& n" J q6 c
) [# G# U( c" D4 r2 M1 H: g
- ! w2 o4 \6 \& U2 P1 g
/ j, O( Z4 k2 c& a& n7 q8 F% k! J2 O: M& t1 c
( [( |' ?; }: D! V0 @ - ( i. U0 G2 t V5 r
. P8 a5 T: S/ i! a& S* u1 v1 ^( Z * Documentation: https://help.ubuntu.com9 x+ h* e6 I, W1 y+ T
/ G7 `4 C/ R3 e+ m( Q
- " E. A' H S2 A D
7 |/ t0 \7 A$ u. \
* Management: https://landscape.canonical.com
+ S) D7 S% J; S0 \. P& Y1 l! d
- ; \5 m6 R5 b0 A, d4 }8 }) d% {
4 z% v9 T: ~6 k2 h2 E- R4 c) x
* Support: https://ubuntu.com/advantage) Y0 D3 _+ [9 B- w
6 k T9 N" p# q9 U6 b/ h. E3 M
- 6 e* T# E3 y, A# {
2 F7 L% ~% V; `9 t$ y0 K...( ^+ y# Q5 M# M. r* h
0 A+ u& V7 [3 x1 E3 J
I: r1 L! z% ?& ?" e
现在你可以登录到你的 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 手册。 |