启动 ssh 时无法识别的服务

Mei*_*ess 1 server ssh remote-access

我正在尝试从运行 Ubuntu 的笔记本电脑通过 SSH 连接到工作中的远程 Ubuntu 计算机。

起初,我只是尝试运行:

$ ssh work_name@work_machine
Run Code Online (Sandbox Code Playgroud)

但什么也没发生。

在网上搜索教程,我按照此页面上的说明进行操作

我想我需要激活这种连接的可能性,所以我在笔记本电脑上输入了终端

sudo service ssh start
Run Code Online (Sandbox Code Playgroud)

输入密码后,我收到以下消息:

ssh: unrecognized service.
Run Code Online (Sandbox Code Playgroud)

我希望有人能帮助我了解如何使 SSH 远程连接正常工作。

You*_*Git 6

我假设您已经配置了端口转发并且能够连接到工作中的计算机。

否则,即使按照我的回答,你也不会走得太远。


默认情况下未安装SSH服务器。

您需要通过在要连接的计算机上的终端 (++)ctrl运行alt以下命令来安装它:t

sudo apt-get update
sudo apt-get install openssh-server
Run Code Online (Sandbox Code Playgroud)

然后你就可以通过运行以下命令正常连接:

#Replace user & IP accordingly
ssh user@192.168.3.321
Run Code Online (Sandbox Code Playgroud)

但是,在这种状态下您存在安全风险。

正如奥利在这里指出的那样,

需要从标准设置中强化它。我在博客上浏览了一些建议,但至少我建议:

  • 基于密钥的登录。禁用密码登录。
  • 将其移出端口 22。使用 20000-60000 范围内的疯狂高值。
  • 用于fail2ban禁止找到它并尝试暴力破解它的人。

它们总共需要大约 10 分钟,你被闯入的几率从 1/10000 变成了一个非常小的概率,世界上没有足够的纸来写它的分数......假设你小心翼翼地保管你的钥匙,它有自己的密码,您不必在网络上到处宣扬您的凭据。

如果计算机位于路由器后面,您还需要进行一些端口转发。这是特定于路由器的,因此我将引导您访问 http://portforward.com