Skip to content

02 连通第一步 - ssh 远程登录

什么是 SSH

  • SSH,英文全称为 Secure Shell Protocol,翻译为安全外壳协议,是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。
  • SSH 通过在网络中建立安全隧道以实现 SSH 客户端与服务器之间的连接,其最常见的用途就是远程登录系统,利用 SSH 来传输命令行界面和远程执行命令。

SSH 远程登录需要什么

  • 服务器的 IP 地址: [0-255].[0-255].[0-255].[0-255]
  • 端口号:SSH 默认使用的是 22 端口
  • [用户名&密码] 组合 or 秘钥

SSH 工具

系统自带 SSH 工具

  • macOS - Terminal 终端
  • Windows - PowerShell

一些常用的第三方 SSH 工具

  • PuTTY
  • XShell
  • MobaxTerm

SSH 远程登录

我们这里使用 MobaxTerm。Windows 安装: scoop install extras/mobaxterm

  • 打开 MobaxTerm,点击左上角的 Session -> New Session -> SSH
  • 输入服务器 IP 地址,端口号,用户名,点击 OK
  • 输入密码,点击 OK
  • 成功登录
bash
  ~ uname -a # 显示关于当前操作系统内核版本和硬件相关的信息
Linux VM-16-3-centos 5.14.0-467.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 19 12:08:12 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
  ~ cat /proc/version # 示当前运行的内核版本详细信息
Linux version 5.14.0-467.el9.x86_64 (mockbuild@x86-05.stream.rdu2.redhat.com) (gcc (GCC) 11.4.1 20231218 (Red Hat 11.4.1-3), GNU ld version 2.35.2-43.el9) #1 SMP PREEMPT_DYNAMIC Wed Jun 19 12:08:12 UTC 2024
  ~ cat /etc/os-release # 显示关于 Linux 操作系统的身份信息,它通常用于确定 Linux 发行版的具体版本
NAME="CentOS Stream"
VERSION="9"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="9"
PLATFORM_ID="platform:el9"
PRETTY_NAME="CentOS Stream 9"
ANSI_COLOR="0;31"
LOGO="fedora-logo-icon"
CPE_NAME="cpe:/o:centos:centos:9"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux 9"
REDHAT_SUPPORT_PRODUCT_VERSION="CentOS Stream"
  ~ cat /etc/redhat-release # 显示基于 Red Hat 的 Linux 发行版的版本信息
CentOS Stream release 9

常用快捷键

  • Tab:在 Bash 解释器的快捷键中,Tab 键绝对是使用频率最高的,它能够实现对命令、参数或文件的内容补全。
  • Ctrl + C:当同时按下键盘上的 Ctrl 和字母 C 的时候,意味着终止当前进程的运行。假如执行了一个错误命令,或者是执行某个命令后迟迟无法结束,这时就可以冷静地按下 Ctrl + C 组合键,命令行终端的控制权会立刻回到我们手中。
  • Ctrl + D:当同时按下键盘上的 Ctrl 和字母 D 的时候,表示键盘输入结束。
  • Ctrl + L:当同时按下键盘上行的 Ctrl 和字母 l 的时候,会清空当前终端中已有的内容(相当于清屏操作)。

安装 Oh My Zsh

安装 zsh 和 git

bash
sudo yum install git zsh -y

安装 ohmyzsh

使用一键脚本:(需要安装 curl/wget/fetch)

方法命令
curlREPO=sjtug/ohmyzsh REMOTE=https://git.sjtu.edu.cn/${REPO}.git sh -c "$(curl -fsSL https://git.sjtu.edu.cn/sjtug/ohmyzsh/-/raw/master/tools/install.sh\?inline\=false)"
wgetREPO=sjtug/ohmyzsh REMOTE=https://git.sjtu.edu.cn/${REPO}.git sh -c "$(wget -O- https://git.sjtu.edu.cn/sjtug/ohmyzsh/-/raw/master/tools/install.sh\?inline\=false)"
fetchREPO=sjtug/ohmyzsh REMOTE=https://git.sjtu.edu.cn/${REPO}.git sh -c "$(fetch -o - https://git.sjtu.edu.cn/sjtug/ohmyzsh/-/raw/master/tools/install.sh\?inline\=false)"

或者使用 git 克隆后手动安装。

bash
git clone https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git
cd ohmyzsh/tools
REMOTE=https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git sh install.sh

替换现有仓库上游

bash
# git -C $ZSH remote set-url origin https://git.sjtu.edu.cn/sjtug/ohmyzsh.git
git -C $ZSH remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git
git -C $ZSH pull

设置默认终端

bash
chsh -s $(which zsh)

CentOS Stream 9 没有自带 chsh 命令工具,提示 chsh: command not found。是因为系统没有自带 util-linux-user 工具包导致的。需要手动安装。

bash
sudo yum install util-linux-user -y
# 或者
sudo dnf install util-linux-user -y

参考文档