Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包:
/ F% m: ]* `5 _9 {/ }2 @; [% A, v* b% w" K m- E
sudo apt update
6 [; I/ a8 ^4 v& _6 l! y. h) N
- J9 Z- {' D0 K9 ]8 m0 [
+ T6 `- w7 h* ~5 n/ y
9 E' H. C. E: n# gsudo apt install openssh-server
6 ]+ m6 h" e; d+ W6 ]3 X0 X& q
& U2 J! l: x9 [; V3 T2 e; m2 q" `7 d( J
当被提示时,输入你的密码并且按 Enter,继续安装。 
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动: - 7 I7 H, `* Z4 E" j! F: S
) h0 u! V; ?& S● ssh.service - OpenBSD Secure Shell server
% {' o( f2 t3 A, R* _) B5 | F+ c+ d" e& P, ]
- 8 k7 v* S; A* ?% S z8 e; N7 c
- m. }* \& o, Y6 F- g
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
2 O- I$ n. E0 M; E3 V0 T) H2 N+ z: D- z7 |1 x
5 f3 `( r- l$ ^
! B! d/ ~1 D; d Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago
, _! |/ D* K+ s* ~4 ]- ?2 C
: E! L% n7 h8 h# z. W- 8 a0 N; g G8 c) B
8 M( z: K/ K! z5 S& g3 d
...
5 u2 O1 L$ @, r7 _$ V8 U
% O3 X# ]" ]0 n; s [9 D+ }
4 l* `" W( V$ 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当你第一次连接时,你将看到下面的信息:
& ^, a9 m( D6 u+ |
" n( K+ o' `+ N! X: o2 B" HThe authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
2 d( ~' F" u; m& R+ i: L/ } n0 n* H: G2 D% d) Z5 F
- ( Z" A6 }6 n% B: ^
' h) {. K i1 pECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
7 p0 B- a; e( P* n' r& Q& d& d" B& O. x$ S
- : K5 k9 Z2 |) i9 {9 f
]: I ~! }$ r; b- h7 L/ d) cAre you sure you want to continue connecting (yes/no)?+ h0 U8 |+ \3 v
) {& E6 Q5 n' ~/ x; L5 @! Y& p% C2 x/ A/ \
输入yes并且你将会被提示输入你的密码: - + B& a5 u/ w5 U1 t9 O: w
3 b$ i& f8 n4 C7 S
Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.
& I3 l( Q; w8 d+ I' b5 `
9 S4 y# \( c- x3 X8 W6 X - 8 l. |$ @; b U. k$ k( B
% a( x' s! t5 {( U& Glinuxize@10.0.2.15's password:( S' n: H6 m0 `2 r* N* v
F( i7 s: {; v$ z; b6 r- Z: ]/ E# a, c: q0 `' C
一旦你输入密码,你将会看到默认的 Ubuntu 消息: - U$ o9 N0 i5 Z9 p' [/ C
4 d2 z4 X2 E8 Q4 }) K' ?0 [ n
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)2 n9 @+ ~$ h* r
3 l/ a* X4 G |+ [" ]
- 6 `: N9 Z$ ]# x3 X" N" S
- ?8 b$ W* m( K
, o$ g2 }8 [5 C9 j) `% C) ]- l# |" P% n5 l! ]1 B7 }
- 6 } r! D9 Y1 z& `6 g5 Z
: f4 z X: C; ^$ t# H
* Documentation: https://help.ubuntu.com$ W/ k! v% v& ^2 }
, L/ ~. u* A3 C- g
4 o3 e g) b% W" x
9 L4 X7 S" k. q! C$ F: e * Management: https://landscape.canonical.com
1 o7 a* _3 r" ]4 D, o
. V8 s" P0 G7 {& V
Z8 R1 E0 x/ [* g5 B! }
! R- E; X2 k& \7 P/ K s * Support: https://ubuntu.com/advantage- Y3 M. l! e" a% y" J
1 f$ e! X3 j/ l+ s* `
3 E' ]+ E9 \ t
4 {0 b, \2 {2 {: `8 z3 |0 i' k5 J...0 Z6 W; h \# g2 M$ v3 c
0 I+ u8 M5 S, R. i
# ^6 y& Y' Q+ s
现在你可以登录到你的 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 手册。 |