介绍
在本实验中,你将学习如何使用 Secure Shell (SSH) 命令连接到远程 Linux 服务器,并在本地主机和远程主机之间传输文件。实验内容涵盖了 SSH 协议的基础知识,包括如何建立安全连接、在远程服务器上执行命令以及使用 SCP(Secure Copy)命令传输文件。本实验适合对 Linux 环境下的网络和通信技能感兴趣的学习者。
在本实验中,你将学习如何使用 Secure Shell (SSH) 命令连接到远程 Linux 服务器,并在本地主机和远程主机之间传输文件。实验内容涵盖了 SSH 协议的基础知识,包括如何建立安全连接、在远程服务器上执行命令以及使用 SCP(Secure Copy)命令传输文件。本实验适合对 Linux 环境下的网络和通信技能感兴趣的学习者。
在这一步中,你将学习 Secure Shell (SSH) 协议,这是一种广泛用于安全连接到远程 Linux 服务器的方法。SSH 提供了本地机器与远程服务器之间的加密通信,确保数据的隐私性和完整性。
首先,让我们检查 Ubuntu 22.04 Docker 容器中的 SSH 服务器状态:
sudo systemctl status ssh
示例输出:
● ssh.service - OpenSSH server daemon
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2023-04-21 06:53:22 UTC; 1min 30s ago
Main PID: 1026 (sshd)
Tasks: 1 (limit: 1071)
Memory: 3.0M
CPU: 17ms
CGroup: /system.slice/ssh.service
└─1026 /usr/sbin/sshd -D
输出显示 SSH 服务器在 Ubuntu 容器中正在运行并处于活动状态。
接下来,让我们尝试使用 SSH 命令连接到远程服务器:
ssh labex@localhost
当提示输入密码时,输入 labex 用户的密码。如果连接成功,你应该会看到远程服务器的命令提示符。
要退出 SSH 会话,输入 exit 并按 Enter 键。
在这一步中,你将学习如何使用 SSH 命令连接到远程 Linux 服务器。
首先,让我们验证你是否可以使用 ssh 命令连接到远程服务器:
ssh labex@localhost
当提示输入密码时,输入 labex 用户的密码。如果连接成功,你应该会看到远程服务器的命令提示符。
现在,让我们探索一些额外的 SSH 连接选项:
## 连接到远程服务器并执行命令
ssh labex@localhost ls -l
## 连接到远程服务器并打开一个交互式 shell
ssh -t labex@localhost bash
## 使用特定的 SSH 端口连接到远程服务器(默认端口为 22)
ssh -p 2222 labex@localhost
示例输出:
total 12
drwxr-xr-x 2 labex labex 4096 Apr 21 07:00 project
-rw-r--r-- 1 labex labex 0 Apr 21 07:00 test.txt
要退出 SSH 会话,输入 exit 并按 Enter 键。
在这一步中,你将学习如何使用 Secure Copy (SCP) 命令在本地机器和远程 Linux 服务器之间传输文件。
首先,让我们在本地机器上创建一个测试文件:
touch ~/project/test_file.txt
echo "This is a test file." > ~/project/test_file.txt
现在,让我们将文件从本地机器复制到远程服务器:
scp ~/project/test_file.txt labex@localhost:~/project/
当提示输入密码时,输入 labex 用户的密码。文件现在应该已经传输到远程服务器。
要将文件从远程服务器复制到本地机器,请使用以下命令:
scp labex@localhost:~/project/test_file.txt ~/project/
再次在提示时输入 labex 用户的密码。文件现在应该已经复制到本地机器。
你还可以使用 SCP 在本地和远程主机之间复制整个目录:
## 将目录从本地复制到远程
scp -r ~/project labex@localhost:~/
## 将目录从远程复制到本地
scp -r labex@localhost:~/project ~/
-r 选项用于递归复制目录及其内容。
在本实验中,你学习了 Secure Shell (SSH) 协议,这是一种广泛用于安全连接到远程 Linux 服务器的方法。你验证了 Ubuntu 22.04 Docker 容器中的 SSH 服务器状态,并成功使用 SSH 命令连接到远程服务器。此外,你还探索了多种 SSH 连接选项,例如远程执行命令、打开交互式 shell 以及使用特定端口连接到服务器。
此外,你还学习了如何使用 Secure Copy (SCP) 命令在本地和远程主机之间传输文件。这使你可以安全地在本地机器和远程服务器之间复制文件和目录,确保数据的隐私性和完整性。