Linux 中常用 SSH 命令及示例
简介
安全 Shell (SSH) 是一种在不安全网络上进行安全远程访问和其他安全网络服务的协议。它被系统管理员和开发人员广泛用于安全地管理远程服务器和执行其他网络操作。在本文中,我们将探讨一些 Linux 上比较常用的 SSH 命令,并提供它们的使用示例。无论您是经验丰富的 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 keygens
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-copy-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-keyscan
ssh-keyscan 命令用于收集远程主机的公钥。这些信息随后会填充到"~/.ssh/known_hosts"文件中,该文件用于验证远程主机的身份。ssh-keyscan 的基本语法是"ssh-keyscan hostname",其中 hostname 是远程主机的名称或 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-add
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 命令 中的几个。理解和使用这些命令可以极大地提高远程操作的安全性和效率。此外,这些命令还有许多其他选项和变体,可用于更高级的操作。与任何强大的工具一样,充分了解这些命令的功能和局限性至关重要,这样才能有效安全地使用它们。
相关文章
有用资源
linux 参考教程 - 该教程包含有关 linux 的更多信息:https://www.cainiaomax.com/linux/

