|
Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包: - 3 R1 L+ k8 U% r# w$ {, V7 a- Y" j1 }
5 V9 `1 U7 x; ]1 Ksudo apt update+ c* ?$ W* P' m/ e4 S0 W
3 v' \+ Y7 r( ~! V
- # }( e% _: h1 N
% j' I: P% t8 @" A( y7 bsudo apt install openssh-server
! y& v/ [/ X. ` F! e3 s: q' G9 [7 [. c8 p3 d5 i
, c* p3 O6 {) o+ s5 I6 S
当被提示时,输入你的密码并且按 Enter,继续安装。 
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动: - & d( b( I9 b! d0 }3 |( A
+ k0 w# M4 O' N$ w3 C& q" p& s● ssh.service - OpenBSD Secure Shell server% N- t4 s( f+ v0 I _
( |. Y8 J+ u" y
- * d& H2 ?6 t( K; w0 w$ ], A! G
: v3 q8 R+ R+ M- {- O
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)# A& t) [7 o# e& f
0 R" T+ W% u T, g: a/ N
# g# o# x/ G. W0 C# m$ ~! D* a# l
) ]) c! B: E1 b Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago
3 R: F8 W5 {5 w- x) W* |/ N! L/ h% @2 a" m5 m
- - L- D0 `' |' y) `: `! {
6 R, \" j! {3 E( p...' c4 I5 m `2 S3 o; c: n
, _6 @% v% X: G0 D' Z4 g4 L6 [2 \ Q3 K
按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当你第一次连接时,你将看到下面的信息: - ! ?* p, Q# x3 r& V% d( e
2 K& t* v1 L! c8 J6 l0 H ` M
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.7 F) F% U# O& m- h3 o9 Z5 v
# F8 l2 U5 Q- a
% V$ G$ W' {0 Z. o. Q
6 |0 J* S; C$ B, |) W, EECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.8 F7 q+ H$ o$ [: a
0 h* e# F" ]# Q! x+ M9 l5 O, ?4 |
6 w* o; K2 M5 A) w. V2 q3 _. x; q& V% h
Are you sure you want to continue connecting (yes/no)?" c; n, ^8 b/ n
. l9 ?9 {: ~$ }! B
3 y$ m3 E1 e: _ d
输入yes并且你将会被提示输入你的密码: - - E, Z! U& {! A0 n$ X
' g; q. I3 ]3 X
Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts. |4 {: W9 e, g' l; h5 z7 X9 ?
& C. p) u% e* x1 f6 o5 V6 \
2 ^2 S- K5 } c* F
9 c3 n( P( j0 P6 W$ @/ e( U" alinuxize@10.0.2.15's password:
; c) W$ f8 Q3 B" b0 z3 Q2 W$ M
, P& y- [' q8 ^7 D: e
( b9 C( ^. {: G3 D
一旦你输入密码,你将会看到默认的 Ubuntu 消息: - # \0 ~* V) H$ i; q& A/ T
$ a% k* T5 L: }' T! a
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)
' ?$ V5 e# O- S* y0 {! Z0 V, [4 ~# M9 M
7 U3 Q9 K' Y& ]! k
, x$ k6 v6 f1 Y* f$ m C6 b% v+ ^0 @' {. r* V; f
% I- G- s+ K* z! h1 G' e# Z8 d+ m
8 ]1 B6 f1 A$ X) e8 w8 _/ |) ?& d9 J" M2 i6 a6 k
* Documentation: https://help.ubuntu.com4 w0 M" h& i9 E9 X
$ J! o: s3 c! J" q3 g8 S
- l u% n* E! q3 m" Q
; \% ~1 M5 n! X. h( r * Management: https://landscape.canonical.com
' i( q7 |# B1 F/ c4 N+ S4 D1 N' c9 t
( B* t3 e+ H/ d$ j' V6 c( K9 b
9 ^+ S! [( M1 M6 e1 I8 J( w * Support: https://ubuntu.com/advantage
+ ?* H! e p6 A4 B6 [
, ~. r7 `8 w/ e2 K- l( T
. m/ \+ K) @- L% }3 P. B O! L- ]' H
...7 z% S" l- C- V A
3 ]8 a7 K6 h6 b. p4 M6 }3 K2 ^ M
1 f* N9 I3 p" P( U
现在你可以登录到你的 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 手册。 |