Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。 这个教程解释了如何在 Ubuntu 机器上启用 SSH。 启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。 一、 在 Ubuntu 上启用 SSH默认情况下,当 Ubuntu 最初被安装的时候,通过 SSH 进行远程访问是不被允许的。在 Ubuntu 上启用 SSH 非常的简单直接。 以 root 或者其他 sudo 用户身份执行下面的步骤,在你的 Ubuntu 系统上安装并且启用 SSH。 01.使用Ctrl+Alt+T打开终端,并且安装openssh-server软件包: - + m8 G7 J t+ m
9 i$ i1 A# x1 h) z2 d9 w
sudo apt update
, v- V! E. g: u( Q2 Y! I) w1 a' y- n/ x9 L5 M: @( Q) x
- Y x8 R0 y5 J+ ^/ r8 k& U( A! b5 F' U& J5 P) G$ c* T& J8 M
sudo apt install openssh-server
' `% w5 u1 |( Y9 d9 a
$ v6 f/ x0 k+ x* N0 o/ P; v& O6 H* ]8 o+ m" w9 ?
当被提示时,输入你的密码并且按 Enter,继续安装。 
02.一旦安装完成,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入: sudo systemctl status ssh输出将会告诉你服务正在运行,并且启用开机启动:
- _8 R3 c2 S' f( b+ S
9 |# W1 o+ \& r+ ^3 [7 R& B● ssh.service - OpenBSD Secure Shell server2 J+ L/ q1 i; L7 h J: ^
# {# P" ~ z- S9 G7 n- 6 |6 a3 e2 t% X
% m L! j$ [% o6 @) D+ A1 b' w Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)' z) r7 u! w( A/ }8 P- V4 Q3 ~
& u6 J9 n0 E3 Q8 L" v- h
. O M$ F1 P- y
2 P2 B+ q4 V3 U* j1 _9 h8 @% a Active: active (running) since Mon 2020-06-01 12:34:00 CEST; 9h ago4 w3 Z1 R5 @; n. Z* J. E+ \
9 H0 G+ }2 _/ i' h( J$ S4 [- * g1 n# i% c0 q% r/ v9 L
# h% F3 k: [- O" h...
* r1 v+ O v7 V5 f6 h# S" p; t4 C! s1 k; {' |; @" K
6 ~, V, L [, U9 G! w3 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当你第一次连接时,你将看到下面的信息: - ( T/ z9 D- H: h
0 o) q" K( T' A- h! @The authenticity of host '10.0.2.15 (10.0.2.15)' can't be established.
4 o" j' X6 j7 j5 ~. k! F$ H' ], |3 A! F3 S
- ! t" D) i' W0 T, U; E( H5 K
3 j9 K, ~9 {! J, }
ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
) B- R# p- A& P! R! t7 `% x' i$ R
1 D/ R; B' X$ f" _: U' ] - ! ?2 D9 i F# U7 o' c+ H* ~. @
, D" ]: L& e) n' b
Are you sure you want to continue connecting (yes/no)?7 K- ?, a- H% z; l. \# L
; W L) p. f; J3 g
! @; H& Q2 p- k% L u4 n
输入yes并且你将会被提示输入你的密码: - ) x3 R& |( Q- D$ K/ N' e: E
% A) Q! A, E% z
Warning: Permanently added '10.0.2.15' (ECDSA) to the list of known hosts.$ Y5 K7 {; o. Q( z6 q* y% I' V. }' {6 B
4 d9 E+ e1 i3 t2 s7 Y! m
/ x8 Q4 U6 ?( F5 b4 t, x& k& s. P
5 S2 U4 z% A8 E4 C; }' r! Slinuxize@10.0.2.15's password:
4 Y5 q# _; u D2 K1 _+ P
/ Z/ Q* W$ f$ T
% h0 C( M8 H6 r7 j6 Z$ H
一旦你输入密码,你将会看到默认的 Ubuntu 消息:
C% Q# L/ h V5 J1 s! P# R. y9 ]9 P- D4 F* h
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)( w8 O1 N/ V3 j2 N
% `4 n6 X, }1 R! R- I# O8 o1 }" D- ( Y4 W6 |' `+ f. ?3 y3 A3 j
1 P$ d" L f; h% \) W- H" Y# c" } T- Z: g
: z) S3 N( o) l. m# S# C - ! O" F& `! g/ o6 M: ~3 _
* Q# g2 g! C1 ^ Q- G7 A * Documentation: https://help.ubuntu.com
4 f; e; X6 z" ?4 m8 y: f) Y; Y) |1 g" m- c9 U9 W) E; W
- " O6 m- [2 F3 G2 E7 Z
% d! N( K) G. y2 G* k# M * Management: https://landscape.canonical.com
7 m8 B u) q" e# V$ i" g Y% y& T
$ u5 C1 | ^* Q7 }
( F5 T+ A+ V/ U3 m3 {5 b3 w8 E4 [5 i& `- D
* Support: https://ubuntu.com/advantage/ m" X" N% Q! d1 ]- ?& V
) r x( S% w. B. `- ! b# u: G- h- |
0 {5 [* m! |5 n E+ k. S
...
5 ~ G3 ~2 K2 Z0 S# s j) r8 f+ Z6 I$ M+ I/ W
^: g# M6 h K4 h5 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 手册。 |