一、配置环境
1.本地SSH连接工具:Xshell(Windows)|Royal TSX(Mac)
2.Ubuntu安装SSH服务
- 更新软件包列表: 在终端中输入以下命令,以确保你的系统软件包列表是最新的:
-
sudo apt update
- 安装 OpenSSH 服务器: 输入以下命令来安装 OpenSSH 服务器:
-
sudo apt install openssh-server
- 安装过程中,系统会询问你是否要继续,输入 Y 并按下 Enter 键以继续安装。
- 启动 SSH 服务: 安装完成后,SSH 服务将自动启动。如果没有自动启动,你可以使用以下命令手动启动:
-
sudo systemctl start ssh
- 设置开机自启动: 如果你希望 SSH 服务在系统启动时自动启动,你可以使用以下命令来设置:
-
sudo systemctl enable ssh
- 检查 SSH 服务状态: 输入以下命令来检查 SSH 服务是否正在运行:
-
sudo systemctl status ssh
- 这将显示 SSH 服务的状态信息,如果一切正常,你应该能够看到服务正在运行。
- 现在,你已经在 Ubuntu 上成功安装并启动了 SSH 服务。这将允许你通过 SSH 协议进行远程连接到你的 Ubuntu 系统。在进行远程连接时,你可以使用 ssh 命令,例如:
- ssh your_username@your_server_ip
- 确保将 your_username 替换为你的用户名,your_server_ip 替换为你的 Ubuntu 服务器的 IP 地址。连接时,你会被要求输入密码来进行身份验证。
3.Ubuntu配置SSH环境(上述最后一步若成功则跳过此步)
- 打开终端,以管理员权限编辑 SSH 配置文件 /etc/ssh/sshd_config。你可以使用 sudo 权限来执行以下命令:
-
sudo nano /etc/ssh/sshd_config
- 如果你不熟悉 nano 文本编辑器,你可以将上述命令中的 nano 替换为你喜欢的其他文本编辑器,如 vi 或 vim。
- 在配置文件中查找 "PasswordAuthentication" 选项。如果找不到这个选项,你可以手动添加它。确保添加在文件的适当位置,例如在 "Authentication" 部分。
- 添加或修改 "PasswordAuthentication" 选项为 "yes",这将启用密码身份验证。确保文件类似以下内容:
-
PasswordAuthentication yes
- 保存修改后的配置文件,并关闭文本编辑器。
- 重启 SSH 服务,使新的配置生效:
-
sudo service ssh restart
- 现在,SSH 守护进程应该允许密码身份验证。请记住,启用密码身份验证会降低一些安全性,因为密码可能会受到猜测、暴力攻击等风险。如果安全性对你很重要,你可以考虑使用密钥身份验证代替密码。
注1:/etc/ssh/sshd_config 文件中的参数及其解释:
-
Port: 设置 SSH 服务器监听的端口号。默认是 22,但你可以通过更改此选项来使用其他端口,以增加安全性。
-
PermitRootLogin: 设置是否允许 root 用户通过 SSH 登录。可以设置为
yes
(允许)、prohibit-password
(密码登录禁止,但可使用密钥登录)或no
(不允许)。 -
PasswordAuthentication: 设置是否允许使用密码进行身份验证。可以设置为
yes
(允许)或no
(不允许),默认为yes
。 -
PubkeyAuthentication: 设置是否允许使用公钥进行身份验证。可以设置为
yes
(允许)或no
(不允许),默认为yes
。 -
AllowUsers / AllowGroups: 限制哪些用户或组可以通过 SSH 登录。你可以列出用户名或组名,用空格分隔。
-
DenyUsers / DenyGroups: 阻止哪些用户或组通过 SSH 登录。你可以列出用户名或组名,用空格分隔。
-
UseDNS: 设置是否进行 DNS 反向解析以验证客户端的连接。可以设置为
yes
(进行反向解析)或no
(不进行),默认为yes
。 -
AllowTcpForwarding: 设置是否允许 TCP 转发。可以设置为
yes
(允许)或no
(不允许),默认为yes
。 -
X11Forwarding: 设置是否允许 X11 转发,允许在 SSH 会话中显示图形界面应用。可以设置为
yes
(允许)或no
(不允许),默认为no
。 -
MaxAuthTries: 设置允许的最大身份验证尝试次数,超过这个次数会断开连接。
注2:若提示无vim则安装vim服务
#更新软件包列表:在终端中输入以下命令,以确保系统的软件包列表是最新的:
sudo apt update
#安装 Vim:在终端中输入以下命令来安装 Vim:
sudo apt install vim
#安装过程中,系统会询问你是否要继续,输入 Y 并按下 Enter 键以继续安装。
#验证安装:安装完成后,你可以在终端中输入以下命令来验证 Vim 是否安装成功:
vim --version
#这将显示 Vim 的版本信息和一些配置选项。
4.Ubuntu查看自己的用户名
- 在 Ubuntu 中,你可以通过查看 /etc/passwd 文件来获取当前系统上所有用户的列表,从而找到你的远程登录名。每个用户都在这个文件中有一个对应的条目。
- 使用以下步骤来查找你的远程登录名:
- 打开终端:打开 Ubuntu 终端应用程序,你可以在 "应用程序" 菜单中找到它。
- 使用 cat 命令查看 /etc/passwd 文件:在终端中输入以下命令并按下 Enter 键,以查看 /etc/passwd 文件的内容。
-
cat /etc/passwd
- 查找你的登录名:在文件内容中,每行代表一个用户。你可以在每行的开头找到用户名,然后查找与你远程登录名相关的行。你可能需要使用滚动条来浏览文件内容。
- 注意:一般情况下,远程登录名与你在远程登录时使用的用户名是一致的。但是,如果你有多个用户账户或者进行了特殊配置,远程登录名可能会有所不同。
5.Ubuntu查看IP地址
ifconfig
6.关闭防火墙(确保22端口开启)
#停止防火墙服务:
sudo systemctl stop ufw
#禁用防火墙服务(确保防火墙在启动时不会自动开启):
sudo systemctl disable ufw
#查看防火墙状态
sudo ufw status
#打开终端,并运行以下命令来检查 22 端口是否处于监听状态:
sudo netstat -tuln | grep 22
#如果 SSH 服务在 22 端口上运行并处于监听状态,你将会看到类似以下的输出:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
二、连接测试
以Royal TSX为例,将上述第5步ifconfig的地址拿到
1.添加Terminal连接
![](https://img-blog.csdnimg.cn/ffdf97b5b6c745e3b300c9cfa1c0621a.png)
2.配置地址和SSH端口
![](https://img-blog.csdnimg.cn/8c83e3f442a7472b87938e66dceff5d7.png)
3.账号密码
![](https://img-blog.csdnimg.cn/8ff9767591464c9fa79ccda8a9ac8494.png)