当前位置: 首页 > backend >正文

Linux连接服务器全攻略:从基础到进阶

在Linux系统下连接服务器是开发、运维人员的必备技能。无论是远程管理服务器、传输文件,还是进行开发调试,熟练掌握连接服务器的方法都能大幅提升工作效率。本文将从原理到实操,带你全面掌握Linux连接服务器的多种方式。

 

一、SSH协议基础

 

SSH(Secure Shell)是目前最常用的远程连接协议,它基于加密技术,能安全地在客户端和服务器之间传输数据,避免信息被窃取或篡改。大多数Linux服务器默认开启SSH服务,端口为22。

 

1. SSH客户端命令

 

在Linux系统中,自带了 ssh 命令用于连接服务器。其基本语法为:

 

ssh [用户名]@[服务器IP地址或域名]

 

 

例如,要以用户 ubuntu 连接IP地址为 192.168.1.100 的服务器,命令如下:

 

ssh ubuntu@192.168.1.100

 

 

首次连接时,系统会提示确认服务器的指纹信息,输入 yes 后,输入用户密码即可完成连接。

 

2. 密钥对认证

 

为了避免每次连接都输入密码,提高安全性和便捷性,可以使用密钥对认证。操作步骤如下:

 

1. 在本地客户端生成密钥对:

 

ssh-keygen -t rsa

 

 

按提示完成操作,默认会在 ~/.ssh/ 目录下生成 id_rsa (私钥)和 id_rsa.pub (公钥)文件。

 

2. 将公钥添加到服务器:

 

ssh-copy-id [用户名]@[服务器IP地址或域名]

 

 

完成上述步骤后,下次连接服务器时,无需输入密码,系统会自动通过密钥进行认证。

 

二、SFTP与SCP:安全传输文件

 

1. SFTP

 

SFTP(SSH File Transfer Protocol)是基于SSH协议的安全文件传输协议。使用 ssh 命令连接服务器后,可以通过 ls 、 cd 等命令浏览服务器文件系统,使用 put 和 get 命令上传和下载文件。

 

# 连接SFTP服务器

sftp [用户名]@[服务器IP地址或域名]

# 上传文件

put local_file remote_file

# 下载文件

get remote_file local_file

 

 

2. SCP

 

SCP(Secure Copy)是另一种安全文件传输方式,它可以在不登录服务器的情况下直接传输文件。

 

# 从服务器下载文件到本地

scp [用户名]@[服务器IP地址或域名]:/path/to/remote_file /path/to/local_file

# 上传本地文件到服务器

scp /path/to/local_file [用户名]@[服务器IP地址或域名]:/path/to/remote_file

 

 

三、其他连接方式

 

1. Telnet(不推荐)

 

Telnet是一种较老的远程登录协议,它以明文形式传输数据,安全性较差,目前已逐渐被SSH取代。

 

telnet [服务器IP地址或域名] [端口号]

 

 

2. 图形化工具

 

除了命令行工具,还可以使用图形化工具连接服务器,如 Remmina 、 FileZilla 等。这些工具操作界面友好,适合初学者使用。

 

- Remmina:支持SSH、RDP等多种协议,可方便地管理多个远程连接。

- FileZilla:强大的FTP/SFTP客户端,提供直观的文件传输界面。

 

四、常见问题与解决方案

 

1. 连接被拒绝:可能是服务器SSH服务未启动,或防火墙阻止了连接。检查服务器上 sshd 服务状态,并确保防火墙开放了22端口。

 

# 检查SSH服务状态

sudo systemctl status sshd

# 启动SSH服务

sudo systemctl start sshd

# 开放防火墙22端口(以UFW为例)

sudo ufw allow 22/tcp

 

 

2. 密钥认证失败:确保私钥文件权限设置正确(一般为600),且服务器上的 authorized_keys 文件包含正确的公钥信息。

 

# 设置私钥文件权限

chmod 600 ~/.ssh/id_rsa

 

http://www.xdnf.cn/news/8966.html

相关文章:

  • AI时代新词-生成对抗网络(GAN)
  • 最新Spring Security实战教程(十六)微服务间安全通信 - JWT令牌传递与校验机制
  • CMake指令:set()
  • 行为型:策略模式
  • Flink流处理基础概论
  • 20250526惠普HP锐14 AMD锐龙 14英寸轻薄笔记本电脑(八核R7-7730U)的显卡驱动下载
  • 记录 | Android TextView 中的滚动方向
  • 基于Python flask 的豆瓣电影top250数据评分可视化
  • 数据结构与算法学习笔记(Acwing 提高课)----动态规划·区间DP
  • 【C++指南】string(四):编码
  • 单细胞数据分析(五):三种整合单细胞数据(Harmony、fastMNN、SCTransform)的完整流程
  • 学员投稿:华为,ov等手机主流大厂桌面未读计数角标更新接口汇总
  • 解析Java String.getBytes()编码与new String()解码的字符集转换机制
  • 深入解析Kafka JVM堆内存:优化策略与监控实践
  • 深入理解JavaScript设计模式之原型模式
  • SpringBoot(四)--- Mybatis、PageHelper、事务
  • 【LLM】LLM源码阅读与分析工具DeepWiki项目
  • C++ 中的引用参数(Reference Parameter)‌
  • 数据结构第2章绪论 (竟成)
  • JavaWeb:SpringBoot Bean管理
  • 豆瓣电视剧数据工程实践:从爬虫到智能存储的技术演进(含完整代码)
  • 墨水屏 函数Paint_SetScale的详解
  • 【公式】MathType,axmath公式批量统一大小
  • MMDetection3D最全源码安装教程
  • Python打卡训练营day31-文件拆分
  • 【深度学习-Day 17】神经网络的心脏:反向传播算法全解析
  • 【工具变量】上市公司企业未来主业业绩数据集(2000-2023年)
  • 内存管理(第五、六章)
  • RV1126的RGA模块讲解
  • 7.Java String类深度解析:从不可变魔法到性能优化实战