|
Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包: - N6 j$ \' d3 F& i5 W
5 b# i- p2 F( r& d4 j8 zsudo apt update. p: Y) e2 J+ c# q, h1 b/ a
0 W0 K0 w7 T t+ ~- s
7 N" V5 U$ n( S6 m' J
; s! J# g/ y& o5 J7 G! `$ ^sudo apt install openssh-server/ P3 u/ c8 _, P! a q
1 X" s) G: K4 S
" q$ K. x" j9 F! ~
当被提示时,输入你的密码并且按 Enter,继续安装。 
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动: - . H" V4 H4 t$ ^' @8 b' V! W
, F8 _, A. ^7 H9 X* Y# x. D
● ssh.service - OpenBSD Secure Shell server3 b$ @8 j7 N% J% H. |- u6 m
4 w; f3 d1 x" h: T, a - 7 _" R' R& Z- I. F4 \8 r
7 h: |0 ~( {6 m$ s, d Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled). U6 F0 k; W2 f$ U
) ^+ ^3 B' F, T* u, }- a
- ( Y# K" ]( F1 n! Z5 b% p6 R
6 h+ Q; m6 W" H3 M2 Z9 Y0 V2 {- @
Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago
! L5 G, v# d' J( W- ~9 l( R6 g
" I# A6 a* D, S" m6 W - % ^1 E3 v7 @! _
* L+ R$ q5 p: L! u8 T.../ Y3 D' H% c' l/ }3 ^/ ?
, q8 Y3 _( o6 \5 y3 M+ n$ H: N: L
; [, R. O2 W+ X/ E* g4 {) {
按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& a8 u" x1 V& F% s
J" S2 n3 r" s. p- Q7 z4 I. u( kThe authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.1 F8 {- u. z& p* ~
0 R# |' u$ B2 I& Q+ |
- , _3 i& f/ {4 v, h
, c1 P% {3 m+ w& q! }( N
ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
& @& [: O3 i+ O. L( U$ Q3 J" e) k. M
`" d, o1 A+ L1 Q6 \
- o N% w% e- o% Z0 w* m8 K, H C
5 X; \8 y7 u/ C/ [' h4 c- h, R/ wAre you sure you want to continue connecting (yes/no)?
. l7 `+ ]6 @* {& A5 u0 G" P3 y) {, l& T0 B2 M5 q0 }1 ]* u
2 v' ~5 O6 ]6 d" z' K" x! r, c( e
输入yes并且你将会被提示输入你的密码: - ! c5 t( p/ S' X0 [3 G9 E
! {5 p. P4 z: i* y9 O! i& h4 n9 j9 h; y1 kWarning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.2 d" p, z+ R0 k% L" Q
/ }4 M: ^3 Y7 n
7 K, k0 z9 d* e' w' a# y0 h" k& P1 }3 D8 M/ a
linuxize@10.0.2.15's password:1 c' D- Y% Z0 d# G1 }2 d0 u
% W% ^ o U7 v0 B5 Y: U
+ L _8 i0 M: Z0 B3 Q8 R' y
一旦你输入密码,你将会看到默认的 Ubuntu 消息:
, ~5 B+ a. c8 ?/ o% I z# _. A
" q4 Y( y/ V( J4 h* J7 YWelcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)
$ L' b2 U+ I3 ]/ ]+ j& I
- C! f6 e! W* L
( d. L0 \6 q! |! J6 E; | J& ^& X* q% F+ F" \, L" c, @
- n1 }! v( _, C. P3 f2 y$ c* u4 \ I( y( Q8 ]5 D9 ~% M" v9 l' x
- & u, J. C9 q0 O3 k; r5 h% v" V
6 o5 p$ O' a' `* I) Y8 ^, f* h * Documentation: https://help.ubuntu.com' f0 [. D3 H! j) Z
" _3 w( p2 C0 l
- 4 n# _' ?, ?0 b2 L5 Q* B; q
- P5 _$ d+ t' {0 C
* Management: https://landscape.canonical.com1 R* H2 y" c: a6 @3 }
5 _, ]2 `8 h/ o* \1 T# \ - , K8 \6 Z4 X9 d
6 t& i2 D3 }( n9 j * Support: https://ubuntu.com/advantage2 H4 C. H' F, \) ~8 u0 ~
# H0 H4 w1 c1 j9 U& }
- # Y, q. `7 Z2 u& q# o
$ G& g$ {0 O) G3 x$ |4 \9 p W...% p3 g5 H1 i+ ?" c: r$ o6 n
" f+ j5 A7 i/ z; Z: v( z6 P
" Z) _, u f7 a, c) 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 手册。 |