Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包:
2 R1 A- D6 W" A: H7 |2 ^ F+ W" h
! j! x1 y. \8 usudo apt update( u) i1 M: d1 s* L0 w! a9 a
. N' W9 `. K+ u7 y) P
- * _+ } d. }% F& {
1 Z, T9 H2 r, k. q: \sudo apt install openssh-server+ d/ `+ i# o2 @/ W2 [# Q
! T7 W& F6 ]1 I0 a4 W. B( e. N
+ E2 O4 |' B7 f% T
当被提示时,输入你的密码并且按 Enter,继续安装。 
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动: - - {; `7 A, z: t
/ z P1 H' ]* h2 A
● ssh.service - OpenBSD Secure Shell server! D: n/ g5 C9 t0 [
( X9 Z0 K4 u& ^/ b
' [: e2 x& c0 G! Y |9 M: q
$ M" E+ a& y3 q; h Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) n! k& }4 s% f2 K
- E7 A- q0 b, j' N7 j+ Q+ q1 s
) U; I1 z8 v& r ]+ k4 Z( I' W6 _- T8 E+ T
Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago8 c2 G, J2 _9 \
3 N5 l+ x4 S) l* }0 D6 E
5 U* W; V7 h' w0 {- [
' ?% y, `: q$ H( J* u. R...
+ a R% i; s8 A7 ~* n0 A( T9 e8 ~8 w# x% \) \' j
' w2 w9 o& D# l1 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当你第一次连接时,你将看到下面的信息:
: G' g) C2 a# g3 r& u5 Q, _
3 J% u3 M3 t# m% tThe authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.' h* z5 K v' _! v9 R( N% b
3 }* s0 P8 p/ Q
: f# I1 s- r6 T9 o+ K) i$ I
0 l7 ^' m6 e. `2 k% z N# vECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.# J1 a! P; K. k1 Y$ Y; [
0 ]3 k6 P2 v: u5 S
1 ^6 j, B' U% j' d8 e: I
4 ~' r u/ E }) g8 Y& s# i8 \$ mAre you sure you want to continue connecting (yes/no)?9 \; c5 V- f, u+ E6 e
( v5 m& l5 P9 |; D# w$ E
& b) Z8 J1 l4 k+ j: `2 P
输入yes并且你将会被提示输入你的密码: - ( F- S% [/ L+ P* ^& D1 @2 B
0 H2 Y1 ~8 h |/ v6 |Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.! s! o2 Q3 ^8 s0 }
. G8 p* `+ n& j
- * R1 y& O4 j+ B+ N7 R
# [6 ]4 _+ d0 E5 M) r
linuxize@10.0.2.15's password:
) t- [, A& I* ?0 ~7 F/ C+ v
7 {8 L4 X5 V5 f9 L& Q$ S' n4 B9 X* ^7 f7 O
一旦你输入密码,你将会看到默认的 Ubuntu 消息:
5 R& Z* H) R) I) `" g" w
* S$ h! j2 P, Z2 QWelcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)- V1 O/ t- @9 j4 `( c$ F
) A3 _, [4 A: m3 T
- 3 G* c$ ^- X B7 o1 @+ P5 Z
) Q8 Z$ h1 K3 L4 z, U8 I! m' [6 v/ N. @) @4 u
+ v4 o5 F9 m8 R, W" l( A: V
- & D- G3 D, Q4 O
7 P( E8 l& W( h' u1 Q
* Documentation: https://help.ubuntu.com
" B2 U' W7 B& R! ?1 _
& e3 c; Y/ t3 [+ e( M
0 [1 R) ]9 H5 m
7 c' y* Q" I. D9 d5 M. x3 T * Management: https://landscape.canonical.com1 g% b( N3 q& V, q& [1 r
3 F5 q c0 s. m/ x+ X: I
% o9 k# v1 T& h, L: g, B& j: S9 H- B7 `4 V$ I: t4 a
* Support: https://ubuntu.com/advantage
) y! \, f1 F+ B/ f& p! L3 g
8 |* S- O0 ^" o) `; H5 R- $ P! T. O4 @* ?4 I9 b7 p T
+ Z/ h& ?5 z- Y% b) W) _3 l" i...
, b% {9 e; _0 S& F5 W
% z( q7 W4 D- E& X, g# P m
4 Q' W w. h1 Y7 s" M1 i' {
现在你可以登录到你的 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 手册。 |