Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包: - / i& g& p3 x7 P/ x' r3 M! v
% a* v: O& x. n: k+ S2 ]0 K
sudo apt update
& U7 T3 e/ c5 G' ?2 T% k7 O2 I1 Y7 ]6 D8 m
- * L5 L7 i3 I0 `# W/ {
; x# `; J: I3 t/ _
sudo apt install openssh-server9 [4 S8 r9 J* j; E' a* `
* [- G7 x4 Z$ D3 H, M+ W- I
) D# X% I6 o. z0 a1 J
当被提示时,输入你的密码并且按 Enter,继续安装。 
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动: - ! X4 Q7 q( x4 B0 g7 W6 }% o( m
& g G- ?3 m4 j+ w p● ssh.service - OpenBSD Secure Shell server+ B; ^ |& t/ n. ]
7 Q1 o; R1 e) s2 y8 i. H( H; y
- ; @& C% g8 Z* O
8 B" L% q# D. ~. f7 W
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)2 H! q/ a5 O$ Y: S4 p. m* E6 `
: d) D$ Z0 b! T/ n! l' Y - * B$ t' n% t1 f+ n, f% H6 ~0 J
5 q. j* Y# g0 P' N' l/ z+ q Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago/ y4 T' b, u4 `, D, _
( Z8 }: s8 d% v. {+ C" K' T - ; f: \8 ^$ ^1 t2 L. t
, x4 [0 Y) q4 T$ p- f8 w) ^1 B...
3 p5 q0 P* A. w6 E8 v4 E9 J
6 A! H% j6 w. B! z" d
' n$ S" Y5 B/ d: a; _9 V! b- z
按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当你第一次连接时,你将看到下面的信息: - # i) u4 P- d( N, U- J; N7 y# c
6 u. }& l9 D! H4 `% F& }
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
% d, p" z& K3 x5 F# ]
- q+ u4 f _* {# F. L+ ~ - ( G5 s* ~5 y& q* [1 }; W5 |
* v+ `8 Z& Z4 l0 F( e! r) t( LECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
- w) n. b+ h7 } v. @* c; [3 t
; [$ b! |3 r, \' Q" j3 o8 [& }
& f- e0 p) ?5 t" Z' @; L2 x2 {* ~" V4 r3 s' j1 H
Are you sure you want to continue connecting (yes/no)?6 V1 f& o) V/ U$ ?3 e
! {6 o. e' |; Y# k! c8 J+ s: _1 H$ u# J# Q1 c
输入yes并且你将会被提示输入你的密码: - " i7 d) C7 y' Z3 Q5 d0 ?
5 b$ _5 u( g7 ?, A
Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.
B* G: n* b5 W. \6 i
7 @+ t. u8 E1 a8 \: W) I! h5 R - 9 A: _( @3 t8 R* b
1 L! q/ N- n/ ]& b) y3 m( j# w Y
linuxize@10.0.2.15's password:7 P; q N3 x% q) u& w7 Y
& M4 E6 V$ D# g- V ]
3 s" |# }9 O# k2 o% j6 v
一旦你输入密码,你将会看到默认的 Ubuntu 消息:
$ d' Q, z: M+ z5 W$ M$ b3 g
. s, ~# C- L) s' o( p fWelcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)
! V. q) B0 E) V; H9 H7 f3 D. w( N6 C
6 s% \5 a3 } Y5 d" F& }- * k4 k$ j6 E! I, D$ J$ A7 }
+ ~9 H1 s y$ T& x9 P, u, @7 o4 a# q/ [# Q2 a
( @5 g: _* Z+ {, B: [0 a
- ) }: M* ^! Y/ ~ c' W$ t2 J, \/ n W
& R' z! p+ \. K
* Documentation: https://help.ubuntu.com
5 B! p' U' b7 M3 B. B! p, u4 U
" S$ T" y7 ?' o& Y# [) V$ v/ k. q - 9 E* T& E; ^6 e1 d, |. O
# {% R; E T1 J/ { _' C
* Management: https://landscape.canonical.com
8 X# i% w9 g I2 D, n
/ B. w2 T* X9 l0 P$ j' X - + j' e' @, x. R b% L9 U+ t% L) _
! f# k. j) K; o, k$ o! k * Support: https://ubuntu.com/advantage
8 u0 n8 V! J; G' T, Z1 R5 z, D
# }( u, A. D7 L
1 r6 R6 f- i8 ^ s& F
. ]6 z! e' M8 {...& j- V! @6 l2 Z, E$ s* @4 @
! `) p- V0 s$ b# l9 K9 e2 V$ o, Q: ]1 ] N- L6 A& \6 o& ~# x
现在你可以登录到你的 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 手册。 |