Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包: - 7 U a8 C. Z% m2 H. I; g5 |, f; A
' D, J$ h$ a" i9 R r5 U$ ~' Z1 Ysudo apt update ^# K2 U* t6 u/ W5 {% T$ |
; j" c, \4 E/ m! |7 a7 {) Q1 ?
5 Z' ?7 \ X0 b9 h2 W5 d, d7 `% Z8 Q" ?
sudo apt install openssh-server4 a& t! y8 Z( X+ s9 h0 l7 K
+ O+ m; z' \1 U1 b4 j1 M4 g
0 ]2 [& O" e' b5 E: B8 R
当被提示时,输入你的密码并且按 Enter,继续安装。 
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动:
8 ]5 f( G1 l1 h" `+ P* |9 w
1 p+ ^% | k3 V* j' r● ssh.service - OpenBSD Secure Shell server4 a$ d G& U: Y! N* C6 J3 F) `; w) x3 M5 u: o
& @) Y' n' c. ?$ ?6 G$ P2 m: F% X+ v4 g5 W
# M. X# l' W- Q$ ? u$ w
& g H; N: U2 B, w" ~4 p* K. K$ u Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
9 l6 E4 @9 O% i' u9 h8 t; {5 P/ F7 Q; K& m- C3 P
: o" z6 o1 u" D0 W7 d; |
# ^, [/ a3 p9 @ Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago2 C( C0 u0 s4 X' H
# ?& l: X/ ~; d1 h
1 g: i6 X$ \4 {
2 _5 i; `9 a/ ~* X" q; i) H4 E; l' L...- z5 o; s, h6 \
# I4 P n5 t% U# n" _8 _/ d' `
* J- i8 U" r9 v1 W2 q, y
按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当你第一次连接时,你将看到下面的信息:
a3 Q) H8 ?( W, D. s I+ Z1 C; F% X, A% @' v! C$ W
The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.: I* T8 ~: \% x1 ]* O, @
9 }& x& K6 W2 l3 `5 r
- ' h1 H7 n9 H. G
' f1 s( ]8 N. r6 a9 M' xECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.# ~( B9 s% f l1 j Y
w; \9 X2 C& Q: \
- 1 J- [8 n( [0 ~: l+ [' g' {7 c
. c, m$ K. T& n9 F5 r; cAre you sure you want to continue connecting (yes/no)?
# o" K' k" V7 Q% y9 Y I* g5 I9 f' X- \
1 x, M. G O i b
输入yes并且你将会被提示输入你的密码:
. n+ \; h/ Y, _# w# t% ~; \( W
0 j: S: ^& k: i7 y9 QWarning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.3 N3 l& R3 a5 |+ E8 V
; k g) D/ u( P% G4 b
4 k2 h3 ?( A+ _$ Y0 ^* d" o; o# c9 b4 A- T* z" J
linuxize@10.0.2.15's password:
* V2 \* a+ {7 A
* D! k( h a7 J0 Z# v2 {) k; e; ^ w, n j2 T5 D9 ]6 r
一旦你输入密码,你将会看到默认的 Ubuntu 消息:
4 E/ V6 }2 L b2 C6 q4 z/ O5 ~! b7 ?9 d. T* J( }+ {* S
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)
" a/ A3 A1 J& K# p, O* X; ]6 [9 L" O' `; ]2 Q5 v2 O
6 O: m7 v* T9 n( f! u; V" M+ m3 n/ x
' x6 B/ Z7 g3 R1 | u6 ~% ], A8 I
: }1 G* K$ A/ k* \, P) C* G
/ i( L0 W3 i" B7 t$ g- ) y+ |% B8 C# n& p" J ?/ T, W6 @
% c& H0 o3 P+ W1 G" w& d% Y" y * Documentation: https://help.ubuntu.com
9 O; C6 X0 S, J. l( a. {# T" l( Z: \# x J! _
( |: M3 o' R8 b t' _- R d6 ]4 Z1 o, u1 i: W
* Management: https://landscape.canonical.com
) Z) x$ V. T, T! o+ x4 x4 T# P0 U, i/ V
- 2 r* d v1 o1 d. l
a+ R; p/ D0 ^. U1 Y5 j1 M7 | * Support: https://ubuntu.com/advantage3 j5 ~* \1 F+ B" M( k- d
! I& _) z, ]7 Y8 r1 G+ M - 3 k/ d' n% _2 C% s) {% j
) [* z$ n' q3 q4 n; Q# f; m
...* }# W' W' |( m+ w1 T1 g% f
2 h X6 O$ v7 e9 Z: |4 |
! |! z+ n* O+ y# X7 m
现在你可以登录到你的 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 手册。 |