Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包:
4 J8 J' j) M9 T1 Z9 M0 u/ q& M# w1 f! r$ S
sudo apt update) @: k4 _& B# U2 S2 ]: W
- H+ ^0 R1 I' g2 ~& G. v! `- 6 O5 U& k% \) Y) v! e6 V- b W0 I
& S/ @: C' `# p1 w$ `) i7 d6 W
sudo apt install openssh-server1 e+ @1 h$ j. }1 n* k1 B
4 N2 V5 m2 B R* [
* h9 T; Y6 w$ k3 X8 ]
当被提示时,输入你的密码并且按 Enter,继续安装。 
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动:
( K6 _& ], g" Z# {7 p$ m2 u- L% ^% R# t
● ssh.service - OpenBSD Secure Shell server- z% k! a8 v& q2 H! R
5 f, [7 r& d( s. W6 ?
- 9 k9 t+ w2 j, {+ L
" \2 V' e& K+ |/ ~3 a( U7 Z' d Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
1 _+ j( h- o( p$ h! H. @. J# B7 b7 F8 n
+ a/ K! `8 A7 g* X0 [2 S! \ - ' n- D) _0 k5 x" e4 A& j4 }
* ^2 b1 i2 \0 o( z
Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago2 O5 R4 d# Y4 p- M' A& ]$ w
% }3 n) A0 U& m, `2 {4 r5 h - ) B# H2 m8 N6 a8 R
" [& R- L1 r/ O o...# D5 [% Q; [5 O; Y- K* d2 j
2 v8 V, ~. }. f" v, W
" s9 J: t* ~/ U- G6 e
按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当你第一次连接时,你将看到下面的信息:
0 {/ T# m; l# F2 [& b2 g. D9 k+ J2 l" x$ K8 x& D8 x1 m) Q
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.& p- u( y7 T5 I" M! k6 u; B- \
" w+ z- M8 t& D! j( @$ m+ e& \
# A, h: h( B0 o+ K$ s3 R3 w' R" B5 M! X V
ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
R1 ~# ~ E; j5 X
8 P% E+ m s! a, O
1 x) G. C4 J, i4 E O& d* E4 A: n, ^ [6 ?, @# \; h2 c6 w
Are you sure you want to continue connecting (yes/no)?
o! A0 h7 u* B1 g
r; }; f2 ^7 o! r$ D% ?% q
( o7 ~1 i2 M5 J0 u
输入yes并且你将会被提示输入你的密码: - % m; f' e* O6 i/ v
* |. ?, t$ \% ~& f: N3 fWarning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.& x" n8 ?* y, I$ e4 ` M: o& M
& X' K2 h$ B3 q+ o, ]
0 |# p6 ?8 o4 s( o* q) o6 y" t4 z
linuxize@10.0.2.15's password:
" U3 }" M& v/ T K" ?+ _- |) j, x' L' r. c
2 A9 B& h; t5 @8 f" J3 ~
一旦你输入密码,你将会看到默认的 Ubuntu 消息:
' `# G9 e& Z1 W- B, j. ~0 b2 W
/ z& ?! l2 C" r( d2 H4 M/ a* W* R$ ~3 aWelcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)
. g- z* a) }( W3 ]" @( ]# B1 f' m. |& |) G9 J) Q& b
! u$ G4 T/ P ?9 k+ p& l, d
4 U w+ B) ?% Z h3 F5 Z, }* N: j6 Y% l* X6 }% e
. j% L( _6 Y6 F; O+ j
9 A2 ^+ `9 H, S( u) U4 I! _0 D) Z" G( w
* Documentation: https://help.ubuntu.com
$ Z G7 s9 D0 M2 |/ q2 K. t! r/ G: \1 Q/ w: T" z
1 j' |; f2 q8 `7 P) c; q4 _
1 j9 y& i. z( y% { G * Management: https://landscape.canonical.com1 J; g/ V' j0 s% Y
$ _6 s. A6 B! f: l- 2 V9 y, L I O: M i4 ^
0 a! E5 \% E8 g) u * Support: https://ubuntu.com/advantage& D: g. x% M7 |% s+ V# i6 [ n
/ U; F+ ?" K5 w5 W& N
- 9 J: d) K6 O% t* u4 s0 L$ E1 {
4 P9 G' C, j/ e) [/ k, Q& D
...) b6 w1 o# [0 J
( U; Y+ C" W" o) K) [/ q/ T' E! z2 K. y! z- x2 A) G; i; r7 C6 Q
现在你可以登录到你的 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 手册。 |