凌峰创科服务平台

Ubuntu如何连接远程服务器?

在Ubuntu系统中连接远程服务器是开发者和系统管理员的常见需求,通常通过SSH(Secure Shell)协议实现安全连接,以下是详细的操作步骤、工具使用及常见问题解决方案,帮助用户高效完成远程连接任务。

Ubuntu如何连接远程服务器?-图1
(图片来源网络,侵删)

准备工作

在开始连接前,需确保以下条件满足:

  1. 远程服务器信息:获取服务器的IP地址(或域名)、端口号(默认为22)、用户名及密码(或SSH密钥)。
  2. 网络连通性:确保Ubuntu客户端与服务器网络互通,可通过ping命令测试(如ping 服务器IP)。
  3. SSH服务安装:服务器需已开启SSH服务,可通过sudo systemctl status ssh检查,未安装时执行sudo apt update && sudo apt install openssh-server安装。

使用命令行连接(SSH)

基本连接命令

打开Ubuntu终端,输入以下命令:

ssh username@服务器IP

ssh root@192.168.1.100,首次连接时会提示确认服务器指纹(输入yes),之后输入密码即可登录。

指定端口号

若服务器SSH端口非默认22,需通过-p参数指定:

Ubuntu如何连接远程服务器?-图2
(图片来源网络,侵删)
ssh -p 端口号 username@服务器IP

ssh -p 2222 root@192.168.1.100

使用SSH密钥认证(更安全)

  • 生成密钥对(本地Ubuntu执行):
    ssh-keygen -t rsa -b 4096

    按提示保存密钥(默认路径~/.ssh/id_rsa),可设置密码短语增强安全性。

  • 上传公钥到服务器
    ssh-copy-id username@服务器IP

    此命令会将~/.ssh/id_rsa.pub内容追加到服务器的~/.ssh/authorized_keys文件中,之后连接时无需输入密码,仅需密钥 passphrase(若设置)。

高级参数配置

可通过SSH配置文件(~/.ssh/config)简化连接,

Ubuntu如何连接远程服务器?-图3
(图片来源网络,侵删)
Host myserver
    HostName 192.168.1.100
    User root
    Port 2222
    IdentityFile ~/.ssh/id_rsa

之后可直接通过ssh myserver连接。

使用图形化工具连接

GNOME终端(默认)

Ubuntu自带的GNOME终端支持SSH连接,直接在终端输入上述命令即可。

FileZilla(文件传输)

  • 安装:sudo apt install filezilla
  • 打开后,选择“文件”→“站点管理器”,输入服务器信息(协议选择SFTP),点击“连接”。
  • 支持拖拽文件,适合可视化操作。

Remmina(远程桌面)

若需图形界面操作,可安装Remmina:

sudo apt install remmina

支持RDP、VNC、SSH等多种协议,配置时选择“SSH - X11 forwarding”可运行远程图形应用。

常见问题与优化

连接超时或失败

  • 原因:服务器防火墙阻拦SSH端口(默认22)。
  • 解决:登录服务器后检查防火墙规则(如sudo ufw status),允许SSH端口:
    sudo ufw allow 端口号

密钥认证失败

  • 检查权限:服务器端~/.ssh目录权限需为700authorized_keys权限为600
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys

提升连接速度

  • 压缩传输:在SSH命令中添加-C参数启用压缩:
    ssh -C username@服务器IP
  • 配置SSH multiplexing:在~/.ssh/config中添加:
    ControlMaster auto
    ControlPath ~/.ssh/master-%r@%h:%p
    ControlPersist 600

    可复用连接,减少重复认证时间。

服务器端配置(可选)

为增强安全性,可修改服务器SSH配置文件(/etc/ssh/sshd_config):

  • 禁用密码认证(仅允许密钥):
    PasswordAuthentication no
  • 更改默认端口:
    Port 新端口号
  • 限制登录用户:
    AllowUsers username1 username2

    修改后需重启SSH服务:sudo systemctl restart sshd

相关问答FAQs

Q1: 忘记服务器SSH密码怎么办?
A: 若有sudo权限,可重置用户密码:

  1. 通过控制台或VNC登录服务器;
  2. 执行sudo passwd username设置新密码;
  3. 若无法登录物理服务器,联系服务商重置。
    若无sudo权限,需联系服务器管理员。

Q2: SSH连接时出现“Permission denied (publickey,password)”错误如何解决?
A: 通常由以下原因导致:

  1. 密钥未正确上传:检查服务器~/.ssh/authorized_keys是否包含客户端公钥;
  2. 权限错误:确保~/.ssh目录权限为700,authorized_keys为600;
  3. 密钥路径错误:在SSH命令中通过-i指定私钥路径:
    ssh -i /path/to/private_key username@服务器IP
  4. 服务器禁用了密码认证:需使用密钥认证或联系管理员开放临时密码登录。
分享:
扫描分享到社交APP
上一篇
下一篇