Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包:
, q( @( q2 R2 {+ D
; ~; l. ~8 y$ B& M% V& d q, C! @sudo apt update
7 N: {- i' `1 o- N1 y5 a N. L
9 ^, T( i) p- l+ @- 9 A6 q7 q! g I) @
! \7 ?1 X# q5 J" z& osudo apt install openssh-server* u1 D2 t/ v/ a ?# ~8 U7 K @
7 d* d \ I+ L8 g: Q' O, {/ r
. n; `- j5 W& k( w- s0 e$ Z
当被提示时,输入你的密码并且按 Enter,继续安装。
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动:
2 d' K' ^ |& P% v& n
0 D2 B4 k2 I% x- b+ ~, K● ssh.service - OpenBSD Secure Shell server, N$ }) ^* Y) D4 q) R% I
# Q1 I* @ ~) Y' _" ^, d
- + x; Y i; ?1 W5 L
" h' o% C) t2 N* P* H I
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)+ H, g$ [' F& i$ I2 ?0 S; {1 E
~- ^! S7 {/ X( g6 e: u, t
; }% @0 o" o7 l1 S3 p% x- |; I& K4 V1 ~: P
Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago/ I# F' m( ]# \( Q/ U
5 o/ |- B1 S% ~" ?% ~- o: n
- : V- J3 k- p, D: y0 Q* p2 x$ b s4 O
* d; \ _; K' \
...: A, P" x3 X+ c1 M# L
7 U' _7 c0 q2 W3 _9 a6 _/ R4 {3 _% F4 q( `
按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当你第一次连接时,你将看到下面的信息: - $ D$ X% X4 f: P( p E6 ^0 Y% X
$ O2 q, v: U- a9 k0 b( [. IThe authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
* m' j' v8 v# y& [# n" h; }$ N5 i9 x6 N/ G* Y
- ' W D) B# y) y3 O. ]( ?
' G' ?4 j$ ~# g. R& P: {7 f
ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.7 @# ?* M J/ k B/ D1 v+ R( ~
4 M4 c+ V& K: @! [$ j( H8 z- m
- : @ ]' Q# c7 N, `
: ~! J, C; [7 Q! J7 s% oAre you sure you want to continue connecting (yes/no)?
- B7 v3 z6 ~) w! S4 j7 O
7 S: |; o# ^2 W8 N6 m3 e4 H2 f4 _: Y! u- r5 y
输入yes并且你将会被提示输入你的密码: - , y5 D& P, r' c/ H4 s
5 i# Y) L( G1 Q, qWarning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.+ k( ~" n. l& r8 n! H7 S
2 b) m+ b; b4 i" V3 I
6 y6 g% E$ G9 v6 P* g% ~ j1 K& \
8 R: o* c1 w- [/ V" clinuxize@10.0.2.15's password:+ S0 X+ n. l5 z: W4 r' ~* A
! S8 {0 C3 k! r
' H |3 K; a5 a6 _% o
一旦你输入密码,你将会看到默认的 Ubuntu 消息:
0 Z" E' p# c1 W/ K3 N2 `0 W
' Q- @" O9 \- G6 O& R, b5 \9 D0 JWelcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)5 R; z7 {' i8 N1 B# q
0 B1 k/ G7 a* v8 G1 B+ _
' x* d! T. h! G% f
* {3 k. Q; ?. ^& _! E) X j
+ Q+ y- U0 k% P3 W+ d: s8 W) e0 o3 j( r. U9 c
- 2 x1 i& r0 k9 V. ]
* d: b. o# K; A# p W/ G1 h2 h
* Documentation: https://help.ubuntu.com
( S; P# q7 ^9 G, d' S+ F; O$ I2 N, b+ j& \; |7 {
- % r) V6 o- `+ w w+ ^$ g; q
. O9 X1 ^3 q3 c8 a1 w! p. Z" K5 C) r * Management: https://landscape.canonical.com2 B2 ^5 {# Q" n$ \! P1 ~$ {( z
5 P# E# G; a4 g0 b; F1 s% ^( z
0 D% Z% y. A1 v( g. G. u9 F
) ]9 r: b+ E6 I/ \: f * Support: https://ubuntu.com/advantage
* h- j9 m' V. o. J. K
, S( H. C8 p V7 P6 v
?: P! T N4 a
/ ^5 i0 S+ m' L- {...
3 G4 G J; h$ n. x+ d- n( M/ h4 }( {
' A0 {! U' J# P& b# x" l3 F
现在你可以登录到你的 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 手册。 |