手机连接Linux服务器的SSH功能,可以让我们随时随地远程管理服务器,实现命令行操作、文件传输等需求,整个过程主要分为Linux端SSH服务配置、手机端客户端安装与连接、网络环境设置三个核心环节,以下是详细操作步骤:
Linux端SSH服务配置(服务器准备工作)
-
安装SSH服务
大多数Linux发行版默认未安装SSH服务,需手动安装,以Ubuntu/Debian为例,打开终端执行:sudo apt update && sudo apt install openssh-server
CentOS/RHEL系统则使用:
sudo yum install openssh-server
-
启动并启用SSH服务
安装后启动服务并设置开机自启:sudo systemctl start sshd sudo systemctl enable sshd
通过
systemctl status sshd
检查服务状态,确保显示“active (running)”。 -
配置SSH服务(可选)
编辑SSH配置文件/etc/ssh/sshd_config
,使用sudo vim /etc/ssh/sshd_config
命令,可根据需求修改以下参数:Port 22
:默认SSH端口,可自定义(如2222)增强安全性;PermitRootLogin yes
:是否允许root用户直接登录,建议改为no
,改用普通用户sudo提权;PasswordAuthentication yes
:是否允许密码登录,若使用密钥登录可改为no
。
修改后保存并重启SSH服务:sudo systemctl restart sshd
。
-
检查防火墙规则
确保防火墙放行SSH端口(默认22),UFW防火墙(Ubuntu)执行:sudo ufw allow 22
firewalld(CentOS)执行:
sudo firewall-cmd --permanent --add-port=22/tcp sudo firewall-cmd --reload
手机端SSH客户端安装与连接
-
选择SSH客户端APP
手机端推荐以下客户端,功能对比如下:客户端名称 支持平台 特点 Termius iOS/Android 支持多设备同步、密钥管理、端口转发 JuiceSSH iOS/Android 界面简洁、主题可自定义、支持会话标签 ConnectBot Android 开源轻量、支持本地端口转发 根据手机系统从应用商店下载安装(如iOS的App Store、安卓的Google Play或华为应用市场)。
-
创建新连接
打开APP后点击“新建连接”,填写以下信息:- 主机名/IP:Linux服务器的局域网IP(如
168.1.100
)或公网IP(需服务器有公网IP且路由器端口映射); - 端口:默认22,若Linux端修改过端口则填写对应端口号;
- 用户名:Linux系统中的用户名(如
ubuntu
、centos
或root
,需确保该用户存在且有登录权限); - 认证方式:选择“密码”或“公钥”,若选择密码,直接输入用户密码;若选择公钥,需提前将手机生成的公钥或电脑生成的公钥添加到Linux的
~/.ssh/authorized_keys
文件中。
- 主机名/IP:Linux服务器的局域网IP(如
-
连接测试
点击连接后,首次连接会提示“主机密钥未知”,选择“接受并保存”即可,随后输入密码(若选择密码认证),成功后即可进入Linux命令行界面。
网络环境设置(关键步骤)
-
局域网连接
确保手机与Linux服务器连接同一Wi-Fi,通过ip addr
(Linux端)查看服务器IP地址,手机端输入该IP即可连接。 -
公网连接(需路由器端口映射)
若需通过外网访问,需在路由器设置中:- 将服务器的内网IP(如
168.1.100
)和SSH端口(如22)映射到公网IP; - 开启路由器的端口转发规则(具体操作参考路由器说明书);
- 确保Linux服务器的防火墙允许公网IP访问SSH端口。
- 将服务器的内网IP(如
-
动态域名解析(可选)
若公网IP是动态变化的,可注册动态域名(如花生壳),将域名与动态IP绑定,手机端通过域名连接,避免频繁更换IP。
相关问答FAQs
Q1:连接时提示“Connection refused”,可能的原因及解决方法?
A:可能原因包括:①SSH服务未启动(执行sudo systemctl start sshd
);②防火墙拦截(检查sudo ufw status
或sudo firewall-cmd --list-ports
,确保SSH端口已放行);③端口错误(确认Linux端SSH端口与手机端填写的端口一致,默认为22);④IP地址错误(局域网连接确保在同一网段,公网连接确认公网IP或域名正确),逐一排查后即可解决。
Q2:手机连接SSH后输入密码提示“Permission denied”,如何处理?
A:首先确认用户名和密码是否正确(注意大小写);若用户名正确但密码错误,可通过Linux端passwd
命令重置用户密码;若仍无法登录,检查/etc/ssh/sshd_config
中的PasswordAuthentication
是否为yes
(若为no
则需改为yes
并重启SSH服务);若使用密钥登录,确认公钥是否已正确添加到~/.ssh/authorized_keys
文件中,且文件权限为600
(执行chmod 600 ~/.ssh/authorized_keys
)。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/26833.html