Linux 中常见的 SSH 命令及示例
介绍
Secure Shell (SSH) 是一种通过不安全网络进行安全远程访问和其他安全网络服务的协议。它被系统管理员和开发人员广泛使用来安全地管理远程服务器并执行其他网络操作。在本文中,我们将探讨 Linux 上使用的一些常见 SSH 命令,并提供其使用示例。无论您是经验丰富的老手还是刚刚开始使用 SSH,本文都将为您提供对这些基本命令的强大功能和多功能性的宝贵见解。因此,让我们深入研究并找出每个 Linux 用户都应该知道的关键 SSH 命令。
SSH
ssh 命令用于安全登录到远程计算机并在该计算机上执行命令。该命令的基本语法是“ssh user@host ”,其中 user 是远程计算机上的用户名,host 是远程计算机的地址或主机名。
$ ssh user@192.168.43.120
user@192.168.43.120's password:
Last login: Wed Feb 10 09:07:23 2023 from 192.168.43.120
[user@remote_machine ~]$
SCP
scp 命令用于在两台计算机之间安全地复制文件。该命令的基本语法是“scp source_file user@destination_host:destination_path”,其中source_file是要复制的文件,user是远程计算机上的用户名,destination_host是远程计算机的地址或主机名,destination_path 是远程计算机上将复制文件的位置。
$ scp file.txt user@192.168.43.120:/home/user/file.txt
user@192.168.43.120's password:
file.txt 100% 16KB
100.1KB/s 00:00
ssh 注册机
ssh-keygen 命令用于生成用于 SSH 身份验证的公钥/私钥对。这允许安全身份验证,无需密码。该命令的基本语法是“ssh-keygen”,它将在默认位置(~/.ssh/id_rsa)生成密钥对。
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:5Mv3q4WniFfrk4ZR+xP2vRnKjV7QQcKWnF1XMvCEjgk user@local_machine
The key's randomart image is:
+---[RSA 2048]----+
| oo.o++ |
| o o=.. |
| o o o o o |
| o o o o o |
| o o o S |
| o + o |
| .. o |
| o o |
| o |
+----[SHA256]-----+
ssh 复制 ID
ssh-copy-id 命令用于将公钥复制到远程计算机以用于 SSH 身份验证。该命令的基本语法是“ssh-copy-id user@host”,其中 user 是远程计算机上的用户名,host 是远程计算机的地址或主机名。
$ ssh-copy-id user@192.168.43.120
user@192.168.43.120's password:
Now try logging into the machine, with "ssh 'user@192.168.43.120'", and check in:
ssh 密钥扫描
ssh-keyscan命令用于收集远程主机的公钥。然后,该信息用于填充“~/.ssh/known_hosts”文件,该文件用于验证远程主机的身份。 ssh-keyscan 的基本语法是“ssh-keyscan 主机名”,其中主机名是远程主机的名称或 IP 地址。
$ ssh-keyscan domain.com
# domain.com:22 SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.2
domain.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABBAABAQDG7AsPp7uvIc9sGoA7V16MgA/z8DyzxQHsiJmVgcgEKbF7cxr8rvBjKPAyHg0yw1G0H8KjzQg9seYFZcLjKsgxRbKf72GtCQgwQqT3qrxv1TZhYzZbLcO7xlz74CJp7jKzjOIW7eLgsfVRuV7A/I6Q2W6Gx/vU2Qu6/ej6U5W44MvkvgfrE9ZLn0Nupq3V7CipysIjKV7wEBCjM8b7IuRv1ZVjQ2fLgSJe6Q+oxvUeH6U5j6F8Wgf97+zZHX9BBjLUnrC/pj/aAaJN/w18r+zN0++2fNjH/9Y0L/NtOkKtAZ16Rde1y7tQsOmj3T/zjB0mZplzSGbxRKjJksRcfMt7sEt
ssh-添加
ssh-add命令用于向SSH认证代理添加私钥。该代理用于将私钥存储在内存中,无需每次输入密码即可使用私钥。要将密钥添加到身份验证代理,只需运行“ssh-add path/to/private_key ”。这是管理多个私钥的便捷方法,因为它们都可以添加到身份验证代理并根据需要使用。
$ ssh-add ~/.ssh/id_rsa
Identity added: /home/user/.ssh/id_rsa (/home/user/.ssh/id_rsa)
结论
这些只是 Linux 中使用的众多常见 SSH 命令 中的一小部分。了解并使用这些命令可以大大提高远程操作的安全性和效率。此外,这些命令还有许多其他选项和变体,可用于更高级的操作。与任何强大的工具一样,充分了解这些命令的功能和限制以便有效、安全地使用它们非常重要。