Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包:
* {& s5 Y. |8 {$ g1 L7 F* H, {& P5 V! o* p# N- ?
sudo apt update: N! k4 ^* _& k2 V! P
+ K# ^% m' K9 U4 h8 G
9 \3 b* F* G2 C3 m0 `- \2 c' H/ ^/ \% ~, A
sudo apt install openssh-server
1 n$ [2 s) }' W) [/ L7 d, C
- W q# H* k1 `& X7 ^
$ D' _" f' `' z$ B0 z
当被提示时,输入你的密码并且按 Enter,继续安装。 
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动: - & x, w+ D) Y; S) R& O
8 N# M5 p# U9 ?
● ssh.service - OpenBSD Secure Shell server
1 y3 ]6 Z9 [& R) c3 U
+ c' v- ^. E" e8 n: I- m5 D - ' J5 \7 V; k6 z* m& _
2 U& k$ [9 P9 G; I0 {% y. h7 v Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)3 o$ N' j% A+ e1 O$ O
3 f# v$ y" B x' K+ }/ V! i - # V. z: f. V" C/ O" i- y' r
( Z/ n) h5 ~6 H, g# E! s4 A Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago+ n8 [. k7 g7 K1 |7 Y
+ ]9 [9 `5 `, B& \. N/ c
3 V( p4 d- x4 G, S; T" K, b9 R, j1 Z( e* H" T; T# l8 N
...
& f& K- G. P1 n. S1 F
5 w' T- @4 p+ z' [( K: T1 K; T& _- N& ]7 ^3 l1 |* x/ f+ 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当你第一次连接时,你将看到下面的信息: - , ?9 w' A" s0 }+ t/ o* c3 {
; ~$ x8 u4 F! N
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
1 ?% ?: y" {, b1 P" I- s) `' m! B8 Q8 h) y# x. `8 I: b! T. J' y
- : B2 {4 t S* d
2 X# }; {( T( \7 S$ Z. hECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
+ i2 w9 k6 o3 l1 u: i4 D- O4 r1 }( S" o
+ r& L1 ~- o. D: |) y
. t% q" ~5 h: J1 t' p1 C6 iAre you sure you want to continue connecting (yes/no)?
8 k: i' ]% A6 J, Z J% {* s/ O* Q) {' M' }8 G
+ j! B# V% t0 c! r: r4 c% |$ e
输入yes并且你将会被提示输入你的密码:
; A$ g+ ^5 a2 E1 u/ B; E
- t+ x8 M3 ^7 c* e) K3 T1 T+ CWarning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.4 C$ [- X( q, G1 U
I. k' P2 n/ a- / [, @# G F+ v5 z
# M' d, p/ q v4 o D9 D) V
linuxize@10.0.2.15's password:8 a! S7 D9 a# c; V* C$ D+ _+ k
( h5 P9 h! H# o9 l4 O
8 b5 m2 o& k( y% b- z
一旦你输入密码,你将会看到默认的 Ubuntu 消息: - . X% S9 o# e5 ]" G
" {3 M" f L+ _) B$ g0 p
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)
: C7 P- c: W# _1 h7 d4 x A
+ g* x( z/ A+ E - 6 I; P9 {# ?2 {7 ~7 r- P
# D/ {; B' d' a6 W5 V: `, e1 W* f9 I- r8 W3 _7 X
u& e, p( j" _1 o" }6 M+ P) Y* }8 d
! n7 _2 E, e. Z) P3 a9 _; C7 S! L6 [! I: _( s! x# d1 f3 h
* Documentation: https://help.ubuntu.com8 L# u& g- @) C$ z, D; R( y2 t2 N2 ]
# W' }8 c/ P4 k$ b# `" Z
- ' S1 U7 P5 l- O3 ?( P
1 q( E: s/ L! m2 {
* Management: https://landscape.canonical.com% E- u, V- b! ~- Y
. r% | O6 S1 ?1 S0 {0 I% x. c
" |, c5 d C: o' ~( M
. D) l' e6 i; S! k5 W& ]( P- N* d0 G * Support: https://ubuntu.com/advantage- j' o: K r( i8 C
2 c" k$ ?+ A4 z- I
" L) M" y; J1 U( w* d/ K. O7 N+ g( p0 `; S& ^# [0 L8 f$ B" q
...- l2 P" c9 Z8 v) t0 W8 [
- v6 {/ X0 m% A& l
" Y0 t# R7 ]) h5 l7 D
现在你可以登录到你的 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 手册。 |