Linux 中常用的 SSH 命令及示例
簡介
安全外殼 (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 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 命令中的一部分。瞭解和使用這些命令可以極大地提高遠端操作的安全性及效率。此外,還有許多其他選項和這些命令的變體,可用於更高階的操作。與任何強大的工具一樣,必須充分了解這些命令的功能和侷限性,以便有效且安全地使用它們。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP