当前位置:网站首页 >  百科

从零完成Linux服务器SSH连接 全实操步骤零卡顿落地

时间:2026年06月01日 13:43:07 来源:易频IT社区

一、准备必备环境

1. 本地客户端安装

Mac和Linux系统自带SSH客户端,无需额外安装,打开终端(Mac快捷键Cmd+空格搜索Terminal,Linux直接调用终端),输入验证命令:

```ssh -V```

若输出类似OpenSSH_9.0p1,说明安装成功。Windows 10 1809及以上版本可通过PowerShell安装官方OpenSSH客户端,操作如下:打开PowerShell(管理员权限,Win+X选择“Windows PowerShell(管理员)”),输入命令:

```Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0```

安装完成后重启PowerShell,再次执行ssh -V验证,成功则可用。

二、获取连接核心信息

1. 必须确认的3项内容

连接前必须向服务器管理员获取3项信息,缺一不可:

  • 服务器公网IP(同局域网用内网IP)
  • SSH端口(默认22,若管理员修改需确认)
  • 登录用户名(通常为root或普通用户)

注意:端口、用户名必须与实际一致,否则直接连接失败

三、密码登录实操步骤

1. Mac/Linux终端操作

打开本地终端,输入固定格式命令:

```ssh 用户名@服务器IP -p 端口```

示例(替换为你自己的信息):```ssh root@192.168.1.100 -p 22```

回车后,终端会提示“Are you sure you want to continue connecting (yes/no/[fingerprint])?”,必须输入yes并回车确认主机指纹,随后输入服务器登录密码(输入密码时终端不会显示任何字符,属正常现象,直接输入后回车即可),成功则进入服务器命令行界面。

2. Windows PowerShell操作

打开PowerShell,输入和Mac/Linux完全相同的ssh命令,后续步骤完全一致:输入yes,输密码,回车登录。

四、密钥登录(推荐,更安全)

密码登录易受暴力破解,生产环境优先使用密钥登录,步骤如下:

1. 生成本地密钥对

在本地终端/PowerShell输入命令:

从零完成Linux服务器SSH连接 全实操步骤零卡顿落地

```ssh-keygen -t ed25519 -C "your_email@example.com"```

(your_email可替换为你的邮箱用于注释,也可直接回车留空),后续连续两次回车:第一次确认密钥保存路径(默认路径直接回车,不要修改),第二次输入密码短语(可选,回车留空更方便,若设置则连接时需输入短语)。生成完成后,本地.ssh目录会出现2个文件:id_ed25519(私钥,绝对不能泄露)、id_ed25519.pub(公钥,需上传到服务器)。

2. 将公钥上传到服务器

有两种方法,推荐用第一种:

  • 方法一(推荐,一键上传):本地终端输入命令:

    ```ssh-copy-id -p 端口 用户名@服务器IP```

    示例:```ssh-copy-id -p 22 root@192.168.1.100```

    回车后输入服务器密码,成功会显示“Number of key(s) added: 1”。

  • 方法二(手动上传,ssh-copy-id不可用时用):1. 本地查看公钥内容:Mac/Linux输入```cat ~/.ssh/id_ed25519.pub```,Windows输入```type C:\Users\你的用户名\.ssh\id_ed25519.pub```,复制整行内容;2. 用密码登录服务器,依次执行命令:

    ```mkdir -p ~/.ssh```

    ```chmod 700 ~/.ssh```

    ```nano ~/.ssh/authorized_keys```

    3. 粘贴公钥内容,按Ctrl+O回车(保存),再按Ctrl+X(退出nano);4. 设置权限:```chmod 600 ~/.ssh/authorized_keys```

3. 测试密钥登录

在本地终端输入和密码登录相同的ssh命令,若之前未设置密码短语,直接登录;若设置了,输入密码短语即可登录,无需服务器密码。

五、常见问题快速排查

1. 连接超时

检查2点:1. 服务器安全组是否开放对应端口(如22);2. 服务器防火墙是否允许该端口,服务器端执行对应命令:

  • Ubuntu/Debian:```sudo ufw allow 22/tcp```
  • CentOS/RHEL:```sudo firewall-cmd --add-port=22/tcp --permanent && sudo firewall-cmd --reload```

2. 权限拒绝

严格设置权限:本地私钥权限```chmod 600 ~/.ssh/id_ed25519```,服务器端.ssh目录700、authorized_keys600,绝对不要用777权限(会被服务器拒绝)。

3. 密钥不被接受

检查服务器端authorized_keys文件,是否有多余空格、换行,公钥是否完整复制了整行内容。

以上步骤全部实测可用,新手复制命令即可一次完成,无任何冗余操作。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图