Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包:
9 \" w3 d5 [' b/ p' {. X* P V4 `
sudo apt update
. t' X2 W p+ k( N
7 r- E6 G( x; C% J! o
5 Z) Q6 h9 R8 J: V+ q
1 \" Z/ l$ O2 V6 N0 Q( Tsudo apt install openssh-server
+ H& C4 ]. u7 n3 d
( Q# K. t, f4 [( {3 b4 A- x! l
7 N! G# s( V4 l o
当被提示时,输入你的密码并且按 Enter,继续安装。
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动: - * j Z4 E& U& X4 G# H f& J
I$ s2 \ G% @' ]
● ssh.service - OpenBSD Secure Shell server
1 ^' D# C7 [, v. Y8 G$ f$ f m
! z% j8 M; o) r7 `# A" k! L
. I8 D. _5 X4 b& j5 j/ E7 h7 `( u7 ~1 Y" m
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
# e4 ^$ Y; {" u; I* K1 W
& m/ ?( [3 H3 z( ]& R
9 W, F- D7 q0 z2 i0 Q3 B
, e# \. {/ N( J; p6 J Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago8 k$ m1 S0 Z4 y3 j; T* ?/ A
7 @! [0 O3 q Q: x
- 6 M( s6 e3 q) U# I( N4 s2 R- X
4 {% r3 s( p) w8 ~4 M8 \( {' }: d
...
6 e, {" t4 J6 E6 d- E
2 K6 I9 M( [8 h9 }& \9 M( A! M7 s6 d3 G+ p- h) T) M5 H
按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当你第一次连接时,你将看到下面的信息: - ) w9 F# a1 @9 }% o, k
, K; \# M1 K! F! |5 }7 ?4 kThe authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
. j# d0 [ m8 I; e9 M
4 q" l4 {7 Z. ^& c* k. S - % x& B& ?3 X* v) M! ?" H) t1 b9 |
$ v% h+ t# E( l* ~
ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.* y1 I1 M4 Z2 M( _9 e' s( g
0 T7 V; B4 P2 d& {) s
" t9 p) ?) ^4 f7 N; R8 }" U; R8 q/ J8 p4 | q
Are you sure you want to continue connecting (yes/no)?
( x2 B9 W+ C9 o, I/ Q
+ n; W( F5 R3 e8 m1 _5 W
& z! D0 T; Q+ e A- A
输入yes并且你将会被提示输入你的密码: - 2 ?5 S8 o, C8 r8 M% N) ~; a+ z
% T, I$ a. o# l: {$ j8 A: O
Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.5 Q, H2 x2 H# q. w
- x; s! H' L, c, g7 N
% s9 S" Z8 a. Y$ O
( J, B! ^+ X' n, g# tlinuxize@10.0.2.15's password:
4 r$ \( E* t) T9 E9 v
5 G% M8 a. x. F# a6 x- i8 ^( |5 q4 V" ` ^0 O1 L
一旦你输入密码,你将会看到默认的 Ubuntu 消息:
0 l$ g9 T W% k5 |" Y( R: N0 ~ K& Q* r `$ |, P
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)' H T" J; P0 R8 B r0 a
7 l+ g% b, U% B9 ^( \
- . E+ S f; z6 @2 A% L `
9 T8 l8 ^, R+ f ], x; T
5 b( Y r. Q) f# e, s2 \5 f
: Y1 H: x4 Z) W/ y - / @# {$ [- b6 T; \
3 u' ?- q. @8 Y- }
* Documentation: https://help.ubuntu.com
4 B0 ~8 p. q$ G; r" E
8 ^$ p8 Y# {( E' z' @/ \ - " E0 d% |6 R: s' }* X. R
/ d& @) V. U# `" n2 L. b% U * Management: https://landscape.canonical.com
# ^# c$ R H- N/ C" g
: `) Q0 e, B" p; i, U5 K4 W) c
- ?' }& h; d1 V, p; S" p; c9 a& W# D0 K
* Support: https://ubuntu.com/advantage
+ d5 P6 l/ _# @; |% ~, T
2 |- j# }; B( F- 4 u8 C9 G5 p! y' X
+ a8 p# x0 y8 K3 v5 v* Z- d& v3 h" X8 S...
9 }0 I' E i% s9 `
+ B, f1 n, H% @/ T
7 k+ ], T1 F# a8 ~4 V, H b$ M- S( p
现在你可以登录到你的 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 手册。 |