Linux下如何登录到服务器?详细操作步骤与方法说明?

在Linux系统中,登录服务器是日常运维和开发的核心操作,其中最常用且安全的方式是通过SSH(Secure Shell)协议实现,SSH通过加密传输数据,确保了通信的安全性,避免了传统Telnet等明文协议的风险,本文将详细介绍Linux下登录服务器的多种方法、步骤及注意事项,帮助用户高效、安全地完成远程连接。

linux下如何登录到服务器

SSH协议与登录准备

SSH协议工作在传输层之上,支持加密认证和安全的远程会话,登录服务器前,需确保以下条件:

  1. 服务器端已启用SSH服务:大多数Linux发行版默认安装OpenSSH服务,若未安装,可通过sudo apt install openssh-server(Ubuntu/Debian)或sudo yum install openssh-server(CentOS/RHEL)安装,并启动服务(sudo systemctl start sshd)。
  2. 客户端工具:Linux/macOS系统自带SSH客户端(ssh命令);Windows系统需使用第三方工具,如PuTTY、Xshell、MobaXterm或WSL(Windows Subsystem for Linux)。
  3. 连接信息:服务器的IP地址(或域名)、SSH端口(默认22)、用户名(如root、普通用户)。

用户名密码登录(基础方式)

这是最简单的登录方式,通过用户名和密码进行身份验证,适合临时或低安全需求场景。

Linux/macOS系统使用ssh命令

打开终端,执行以下命令:

ssh [用户名]@[服务器IP] -p [端口号]
  • 示例:ssh root@192.168.1.100 -p 22(以root用户登录,默认端口22)。
  • 若端口号为默认22,可省略-p参数。

执行命令后,首次连接会提示服务器密钥指纹(The authenticity of host ‘192.168.1.100’ can’t be established…),输入yes确认,随后输入用户密码即可登录。

Windows系统使用PuTTY

(1)下载并安装PuTTY(官网:https://www.putty.org/)。
(2)打开PuTTY,在“Session”页面输入服务器IP地址、端口号(默认22),选择连接类型为“SSH”,输入保存的会话名称(可选),点击“Open”。
(3)首次连接会弹出“Security Alert”窗口,点击“Accept”确认。
(4)输入用户名和密码,按回车即可登录。

SSH密钥登录(安全方式)

密钥登录通过公钥加密和私钥解密实现认证,无需传输密码,安全性更高,适合长期运维或自动化场景。

生成SSH密钥对

在客户端机器上执行以下命令生成密钥对(默认存放在~/.ssh/目录):

linux下如何登录到服务器

ssh-keygen -t ed25519 -C "your_email@example.com"
  • -t ed25519:指定密钥类型(ED25519比RSA更安全高效,也可选-t rsa -b 4096)。
  • 提示输入保存路径(直接回车使用默认路径~/.ssh/id_ed25519)和密码(可选,用于加密私钥,增强安全性)。

执行后,会生成私钥(id_ed25519)和公钥(id_ed25519.pub)。

上传公钥到服务器追加到服务器的~/.ssh/authorized_keys文件中(该文件记录允许登录的公钥):

  • 方法1:使用ssh-copy-id命令(推荐,自动处理权限):
    ssh-copy-id -i ~/.ssh/id_ed25519.pub [用户名]@[服务器IP]

    执行后输入服务器密码,公钥会自动上传。

  • 方法2:手动上传(适用于ssh-copy-id不可用时):
    # 从客户端复制公钥内容
    cat ~/.ssh/id_ed25519.pub
    # 登录服务器(临时密码登录),创建authorized_keys文件并粘贴公钥
    mkdir -p ~/.ssh
    echo "粘贴的公钥内容" >> ~/.ssh/authorized_keys
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys

密钥登录测试

退出当前登录,执行以下命令(无需输入密码):

ssh -i ~/.ssh/id_ed25519 [用户名]@[服务器IP]

若设置了私钥密码,需输入私钥密码。

SSH登录高级场景

修改默认SSH端口

为提升安全性,可修改服务器默认SSH端口(如改为2222):

  • 编辑SSH配置文件:sudo vi /etc/ssh/sshd_config
  • 修改Port 22Port 2222,保存退出。
  • 重启SSH服务:sudo systemctl restart sshd
  • 客户端登录时需指定端口:ssh -p 2222 [用户名]@[服务器IP]

通过跳板机(中间服务器)登录

若目标服务器无法直接访问,需通过跳板机中转:

  • 方法1:SSH代理转发(推荐):
    ssh -J [跳板机用户]@[跳板机IP]:[端口] [目标服务器用户]@[目标服务器IP]

    示例:ssh -J jumpuser@192.168.1.10:22 targetuser@192.168.1.200

    linux下如何登录到服务器

  • 方法2:分步登录(先登录跳板机,再登录目标服务器)。

解决SSH连接超时/断线

  • 设置心跳包:在客户端配置文件~/.ssh/config中添加:
    Host *
      ServerAliveInterval 60
      ServerAliveCountMax 3

    表示每60秒发送一次心跳包,超时3次后断开连接。

  • 使用tmux/screen:登录后启动tmux(tmux new -s session_name),即使终端关闭,会话仍可保持。

SSH常用参数说明

参数 作用 示例
-p 指定SSH端口 ssh -p 2222 user@192.168.1.100
-i 指定私钥文件 ssh -i ~/.ssh/id_rsa user@192.168.1.100
-v 详细输出(调试用) ssh -v user@192.168.1.100
-l 指定用户名(可写在IP前) ssh -l root 192.168.1.100
-o 设置SSH选项(如端口转发) ssh -o "ProxyCommand nc -X 5 192.168.1.10 22" user@192.168.1.100
-N 不执行远程命令(仅用于端口转发) ssh -N -L 8080:localhost:80 user@192.168.1.100

相关问答FAQs

Q1: SSH登录时提示“Permission denied (publickey,password)”怎么办?
A: 该错误通常由以下原因导致:

  1. 密钥未正确上传:检查服务器~/.ssh/authorized_keys文件是否包含客户端公钥,并确保文件权限为600(chmod 600 ~/.ssh/authorized_keys)。
  2. 私钥路径错误:登录时通过-i参数正确指定私钥文件路径(如ssh -i ~/.ssh/id_ed25519 user@192.168.1.100)。
  3. 服务器SSH配置限制密码登录:检查/etc/ssh/sshd_configPasswordAuthentication no是否被修改为yes(若需密码登录),或PubkeyAuthentication yes是否启用。
  4. 密钥类型不匹配:确保客户端生成的密钥类型(如ED25519)与服务器支持的类型一致。

Q2: 如何通过SSH实现本地端口转发(访问远程服务)?
A: 端口转发可将本地端口流量通过SSH隧道转发到远程服务器,常用于访问远程数据库或内网服务,语法如下:

ssh -L [本地端口]:[远程目标地址]:[远程端口] [用户名]@[服务器IP]
  • 示例:本地通过localhost:3306访问远程服务器192.168.1.100的MySQL服务(3306端口):
    ssh -L 3306:localhost:3306 root@192.168.1.100

    执行后,本地使用mysql -h localhost -P 3306即可连接远程MySQL。

  • 动态转发(SOCKS代理)ssh -D 1080 user@192.168.1.100,本地配置代理为localhost:1080,可访问远程内网资源。

通过以上方法,用户可根据场景需求选择合适的SSH登录方式,确保远程连接的安全性和稳定性,密钥登录是推荐的主流方案,配合端口转发、跳板机等功能,可灵活应对复杂的网络环境。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/32942.html

(0)
酷番叔酷番叔
上一篇 2025年9月30日 06:13
下一篇 2025年9月30日 06:34

相关推荐

  • linux 如何查路由表

    Linux中,可以使用netstat -rn或`ip route

    2025年8月13日
    10200
  • Linux如何显示当前路径?常用命令有哪些?

    在Linux操作系统中,路径是文件和目录在文件系统中的定位标识,理解如何显示和管理路径是高效使用Linux的基础,本文将详细讲解Linux中显示路径的核心命令、路径类型、环境变量配置及实用技巧,帮助用户全面掌握路径相关的操作,显示当前工作目录:pwd命令pwd(Print Working Directory)是……

    2025年10月5日
    7600
  • 如何实现Windows虚拟机连接Linux系统的操作方法?

    在Windows主机上连接Linux虚拟机是开发、运维和日常学习中常见的需求,无论是通过命令行进行远程管理,还是实现文件共享,都需要正确的配置步骤,本文将详细说明从虚拟机软件选择到网络配置、服务搭建及连接方式的全流程,帮助用户顺利实现Windows与Linux虚拟机的互通,选择虚拟机软件并创建Linux虚拟机首……

    2025年9月20日
    8500
  • Linux进不了图形界面怎么办?

    系统启动时自动进入图形界面大多数现代Linux发行版(如Ubuntu、Fedora、CentOS 7+)默认安装图形界面(GUI),若未自动进入,需检查以下配置:检查默认启动目标使用命令查看当前模式:systemctl get-default若显示 graphical.target:系统已配置为启动GUI若显示……

    2025年7月15日
    8400
  • Linux启动盘如何制作?详细步骤与方法指南

    制作Linux启动盘是安装Linux系统、修复系统故障或体验Linux发行版的常用操作,其核心原理是将Linux系统镜像文件(ISO)写入可移动存储设备(如U盘),使设备具备启动能力,以下是详细的制作步骤及注意事项,涵盖不同操作系统环境下的操作方法,准备工作在制作启动盘前,需确保以下条件准备就绪:Linux系统……

    2025年8月26日
    8000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信