本文介绍
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/developer/article/1638882
https://zhuanlan.zhihu/p/191627275
更多推荐
如何在 Ubuntu 20.04 启用 SSH,并且通过局域网登录Ubuntu机器
发布评论