跳转至

连接 Linux 服务器

约 619 个字 49 行代码 预计阅读时间 3 分钟

首先

  • 你需要知道服务器的地址,并且你所在的网络能够访问
  • 服务器上打开了 SSH 服务,且你有权限连入
  • 你需要知道认证方式
  • 最基础的是用户名和密码
  • 一些服务器是使用密钥对登录的,这种情况下最好找服务器相关人员配置好

OpenSSH

目前广泛使用的跨平台的开源的 SSH 工具。

OpenSSH 在 2018 年秋季已添加至 Windows,并包含在 Windows 10 和 Windows Server 2019 中。所以新版的 Windows 中,可以直接使用 ssh 命令,不需要使用其他第三方工具即可连接 Linux 服务器。

基础命令操作

ssh [-i 私钥地址] [用户名@]服务器地址 [-P 端口号]

比如:

1
2
3
4
ssh 服务器地址
ssh 用户名@服务器地址
ssh 用户名@服务器地址 -P 端口号
ssh -i 私钥地址 用户名@服务器地址

若不指定用户名,则为当前系统的用户名;若不指定端口号,则为 22

如:登录 192.168.123.200 服务器,用户名为 ding,端口号为 22222

ssh ding@192.168.123.200 -P 22222

用密码登录的登录流程

验证服务器

如果是首次登录,会提示:

1
2
3
The authenticity of host '192.168.123.200 (192.168.123.200)' can't be established.
ECDSA key fingerprint is SHA256:Xj1cNqk1hGXAzkwtZYMBDKpydmoca8sGH3zNLEHxMiA.
Are you sure you want to continue connecting (yes/no)? 

这里输入 yes 、回车,就能够继续连接,记住主机。

Warning: Permanently added '192.168.123.200' (ECDSA) to the list of known hosts.

输入密码

如果使用密码登录,会要求输入密码:

ding@192.168.123.200's password:

这时候输入密码。在命令行中,输入密码一般是不会有任何显示的。之后按回车。

输入错误的话,会提示验证被拒绝:

Permission denied, please try again.

输入三次错误,连接即关闭。

成功登录

如果输入密码正确,会输出欢迎信息(至少会输出上次登录的信息。这种信息可以自定义,不同的主机的信息也有不同),最后输出形如这样的信息,等待用户输入命令,即表示登录成功:

ding@ding-server:~$

完整的登录流程一例

ssh ding@192.168.123.200
The authenticity of host '192.168.123.200 (192.168.123.200)' can't be established.
ECDSA key fingerprint is SHA256:Xj1cNqk1hGXAzkwtZYMBDKpydmoca8sGH3zNLEHxMiA.
Are you sure you want to continue connecting (yes/no)?  yes
Warning: Permanently added '192.168.123.200' (ECDSA) to the list of known hosts.
ding@192.168.123.200's password:
Welcome to Ubuntu 20.04.4 LTS (GNU/Linux 5.4.0-107-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

  System information as of Thu 21 Apr 2022 08:59:08 AM CST

  System load:                      0.05
  Usage of /:                       36.4% of 97.93GB
  Memory usage:                     14%
  Swap usage:                       0%
  Processes:                        271
  Users logged in:                  1
  IPv4 address for br-b3af985151af: 172.18.0.1
  IPv4 address for docker0:         172.17.0.1
  IPv4 address for ens160:          192.168.123.200


15 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settings


Last login: Thu Apr 21 08:58:19 2022 from 192.168.123.100
ding@ding-server:~$

用密钥对登录

私钥文件形如

1
2
3
4
5
6
7
-----BEGIN RSA PRIVATE KEY-----
MIIJJwIBAAKCAgEAtgK+z0Zd6JLMjDRk4E900FIGvod5zDF4WgDOgNJCyxhTDyEl
HFhHxVTweGANeh+dRsACx69GEKlt5UOv0wcjioqP34cktPFzS72Y/ecX+V6tMt81
……中间省略……
x0FnsneES1a3rIoLD1rwO3RR00ZQzxeHN67887iX4LQ0toD5YQWsrfU5YGq3kfYX
IDj0GSgKukVe1oGV1GTVxzUUDQu1LQ71uhzKVQ4+rCJjTYbSaEOHe/AcZw==
-----END RSA PRIVATE KEY-----

赋予权限

如果在非 Windows 环境下,需要赋予权限:

chmod 400 私钥文件在本地机上的存储路径

登录

ssh -i 私钥文件路径 [用户名@]服务器地址 [-P 端口号]

如:

ssh -i ~/.ssh/id_rsa ding@192.168.123.200

一般来说之后不需要输入密码。

退出

  • 方式 1:按 Ctrl + D
  • 方式 2:执行 exit

方便的终端工具

使用第三方的终端工具相比于直接用 ssh 命令登录,有如下优点:

  • 图形化界面,方便填写参数
  • 能够保存连接信息,方便登录
  • 有 SFTP 功能,可以方便地传文件

常用的第三方工具:

  • PuTTY
  • XShell
  • SecureCRT
  • MobaXterm
  • FinalShell
  • Terminus
  • electerm
  • Tabby
  • ...

参考资料