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 S9 i/ W. G/ D/ J
: \4 v0 h f% a( a0 N; lsudo apt update6 e' x c6 S. K4 n
* F6 y5 M/ m' Q, {/ _
- Y8 T# o( s# |: F. I( X5 u9 J) ]8 L1 W5 A, P$ d# L" T% D* H
sudo apt install openssh-server9 T5 N. @! P. q" `3 A2 V
- _% j2 [8 m- m* u2 U9 c
9 f; N9 u& D, p5 K) t
当被提示时,输入你的密码并且按 Enter,继续安装。 
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动:
4 A2 a5 w0 j- s& S5 n; u- {3 N5 V5 ~7 @( f/ i* ?" e) _% ^
● ssh.service - OpenBSD Secure Shell server1 l2 f: z" q3 k$ J1 a0 h; _, U* z) M
( T. m/ O. ~4 L3 Q) a2 \) x, z, R+ P
/ z& u: M6 |) }, D% i% Y2 b, \% K
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
8 j. w B* \3 o$ Y0 H1 h* q: p) g5 @4 U# w
# X$ p! |" c/ N2 f, J/ i' `9 K/ k: g
+ d+ |5 Z4 |, Q, u8 Y- @ x2 f2 U6 @ Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago- R% K L- e" W$ i
* }2 } H6 W5 }/ Q) e( {* ~
7 a. A2 h3 r2 ]( M* H. M" Q$ h, p1 c9 f' S B
...# W5 R3 C' O/ r( i8 W3 I/ u
- A3 z7 O2 v5 A' [# e* L* i4 @: f9 S# G9 F) t" `6 L3 i
按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当你第一次连接时,你将看到下面的信息:
$ I1 a8 m8 L4 t2 `$ c. Z; ~: w9 m' T5 t6 B' P- r
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
; q& y; B/ A6 v, _* f/ o- @, W
" Y3 ]9 v; b8 [$ z5 H; [1 I
% Q- S; L# g V- w1 v) w# g
1 i4 h$ w3 N$ P2 LECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY., U' g2 G }( l O
) S9 i9 [ Y& A8 o5 \9 }
$ Z% z9 Z) C7 m" d) w+ c3 A; y0 h0 i/ Q0 E$ m
Are you sure you want to continue connecting (yes/no)?/ y6 D7 U7 V* [/ x
$ Q) u! Q. |- ?4 v M X8 i \% |3 l' s
输入yes并且你将会被提示输入你的密码: - * C3 c$ g2 A: o+ T2 C* q' ]( `
" m8 ~( T8 W# v' }' [+ @- nWarning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.9 M- K% X, {" J U# T
. r1 W+ d9 A v' Z5 X
& ^" [5 k! H5 {; u9 Y
" Y, D( N5 L% h( ^linuxize@10.0.2.15's password:. c) \! E0 c( N( G, t+ p! V M
! j4 p! T1 l- @ r g% C3 N' R
/ m. v t" r1 K' F7 t8 g) f2 I/ t
一旦你输入密码,你将会看到默认的 Ubuntu 消息:
! W& e7 r$ @3 ~" s0 e4 g& R
: I# z4 O0 N" h( J: ?/ wWelcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)4 d# c5 R6 @9 l
1 c( B3 e7 @) i0 R z" E
% c" w! b1 l; G
, U; X- a, `6 H+ x$ D) r% m9 L. U% x: b9 b
) ]2 C. x) I% j2 _0 \' \
' `# f! _4 M6 e. N: `- {& W4 O. l% r: q7 o
* Documentation: https://help.ubuntu.com) w- X* n# _' p9 g
% x. r( T3 M+ `6 F4 Q/ k9 }
- ' R' r ~9 E. i5 o5 m/ S* z
* W; { ^$ V6 Z9 W+ Q% d
* Management: https://landscape.canonical.com
/ ]2 R# H# k3 ^/ R4 E8 ~3 G% Y$ q6 V2 v, x7 H
- 1 d" t- e- s/ U' \% o- M1 s
4 W) r( S* x- K# O
* Support: https://ubuntu.com/advantage
1 w& W7 a) a; T7 V& p& F- m* e& ~8 g6 u- ~( \: y
, v- B% X" M& k+ |0 S5 P6 b( J! E7 i; D8 w
) d5 J8 D+ L8 u8 @* z...
/ R# g) G' r5 x
7 k3 _2 J9 j# D# ]/ |1 z. U0 i) o- ?
+ `4 W- R7 f9 _8 O* o9 M
现在你可以登录到你的 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 手册。 |