如何在 Ubuntu 20.04 启用 SSH,并且通过局域网登录Ubuntu机器

本文介绍

Secure Shell (SSH) 是一个网络协议,它主要被用来加密客户端和服务端之间的连接。 在客户端和服务端的每一次交互都被加密。

这个教程解释了如何在 Ubuntu 机器上启用 SSH。

启用 SSH 将会允许你远程连接到你的系统,并且执行管理员任务。你将能够通过 scp和sftp安全传输文件。

一、 在 Ubuntu 上启用 SSH

01.打开终端,并且安装openssh-server软件包:

sudo apt update
sudo apt install openssh-server

当被提示时,输入你的密码并且按 Enter,继续安装。

02.一旦安装完成之后,SSH 服务将会被自动启动。你可以验证 SSH 是否正在运行,输入:

sudo systemctl status ssh

输出将会告诉你服务正在运行,并且启用开机启动。
在这里插入图片描述
按q返回命令行。

03.Ubuntu 自带一个配置防火墙配置工具,称为 UFW。如果防火墙在你的系统上被启用,请确保打开了 SSH 端口:

sudo ufw allow ssh

二、连接到 SSH 服务器

想要在局域网内连接到你的 Ubuntu 机器,以下面的格式输入 ssh 命令,加上用户名和 IP 地址。

ssh username@ip_address
确保你将username修改成你自己的用户名,ip_address修改成你安装了 SSH 的 Ubuntu 机器的 IP 地址。
如果你不知道你的 IP 地址,你可以使用ip命令轻易地找到它:

ip a

在这里插入图片描述

你可以从输出中看到,我的 IP 地址是192.168.43.53

一旦你找到 IP 地址,通过运行下面的ssh 命令登录远程机器:

ssh xjk@192.168.43.53

当你第一次连接时,你将看到下面的信息:

The authenticity of host '192.168.43.53(192.168.43.53)' can't be established.
ECDSA key fingerprint is SHA256:Vybt22mVXuNuB5unE++yowF7lgA/9/2bLSiO3qmYWBY.
Are you sure you want to continue connecting (yes/no)?

输入yes并且你将会被提示输入你的密码:

Warning: Permanently added ‘192.168.43.53’ (ECDSA) to the list of known hosts.
xjk@192.168.43.53’s password:
一旦你输入密码,你将会看到默认的 Ubuntu 消息:

Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-26-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage
...

现在你可以登录到你的 Ubuntu 机器上。

三、免密码登录

经常使用密码登录会有较大的安全隐患,所以我们可以通过将远程公钥拷贝到我们要连接的机器上面,就不需要每次登录使用密码了
具体讲,是把本地/.ssh/id_rsa.pub内的内容拷贝到远程/.ssh/authorized_keys文件里。首先看看本地有没有公钥:

cat ~/.ssh/id_rsa.pub

没有,则生成一个

ssh-keygen -t rsa

一路回车按下去,便生成在了~/.ssh/id_rsa.pub,你的密码也就保存在这里面,可以使用下面的语句进行查看。

cat ~/.ssh/id_rsa.pub

目前公钥已经生成好了,在我们自己的电脑上面,那如何将自己的公钥传输给要连接的远程机器,然后进行免密登录呢?接下来我们来做这件事

ssh-copy-id username@ip # 将本地公钥拷贝到远程名为username用户下,也就是/home/qiangzibro/.ssh/authorized_keys里

比如我想要远程连接用户名为aaa,ip为192.168.43.65的机器上,那么我就可以先将自己的秘钥给它,也就是调用

ssh-copy-id aaa@192.168.43.53

之后会输入aaa用户的密码,输入完成之后,在确保两台机器连上同一局域网的前提下,连接远程机器aaa,输入指令

ssh aaa@192.168.43.53

就可以直接在终端操控远程设备了,无需输入密码,免密码登录就完成了!
现在可以在终端操控另一台设备了,比如在桌面创建一个aaa的文件夹,再删除它,这个过程在另一台设备都可以看到。
在这里插入图片描述

四、在 Ubuntu 上禁用 SSH

想要在你的 Ubuntu 系统上禁用 SSH 服务器,简单停止 SSH 即可,输入:

sudo systemctl disable --now ssh

稍后,你可以重新启用,输入:

sudo systemctl enable --now ssh

5参考链接

https://cloud.tencent.com/developer/article/1638882
https://zhuanlan.zhihu.com/p/191627275

  • 8
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值