Back to Notes

Alpine Linux安装 SSH 服务

方法1:使用setup-alpine指令时启动ssh

方法2(deepseek-r1贡献):

  1. 确保 SSH 服务器已安装

Alpine Linux 默认不安装 SSH 服务,需手动安装:

bash

CollapseSaveCopy

1

apk add openssh-server

  1. 启动 SSH 服务并设置开机自启 启动 sshd 服务:bashCollapseCopy1rc-service sshd start 添加到默认运行级别(开机自启):bashCollapseCopy1rc-update add sshd default
  2. 检查 SSH 服务状态 确认服务正在运行:

bash

CollapseSaveCopy

1

2

3

rc-service sshd status

ps | grep sshd

若未运行,查看日志:

bash

CollapseSaveCopy

1

tail -f /var/log/messages

  1. 配置 SSH 允许远程登录 编辑配置文件 /etc/ssh/sshd_config:

bash

CollapseSaveCopy

1

vi /etc/ssh/sshd_config

确认以下关键配置:

允许远程登录:iniCollapseCopy12PermitRootLogin yes # 若需允许 root 登录(建议用普通用户)PasswordAuthentication yes # 允许密码登录 确保监听地址正确(默认 0.0.0.0):iniCollapseCopy12ListenAddress 0.0.0.0Port 22 修改后重启 SSH 服务:

bash

CollapseSaveCopy

1

rc-service sshd restart

  1. 检查防火墙设置 若启用了防火墙(如 iptables、ufw 或 nftables),确保放行 22 端口:bashCollapseCopy123iptables -A INPUT -p tcp –dport 22 -j ACCEPTiptables-save > /etc/iptables/iptables.rulesrc-service iptables restart 临时关闭防火墙测试:bashCollapseCopy1rc-service iptables stop
  2. 验证网络连接和端口监听 检查 SSH 端口(22)是否在监听:bashCollapseCopy1netstat -tuln | grep :22正常应显示 LISTEN 状态。 从本机测试连接:bashCollapseCopy1ssh localhost若本机可连但外部不可连,可能是网络配置问题(如 IP 错误、路由或交换机限制)。
  3. 检查 Alpine 主机的 IP 地址 确保 Alpine 主机与其他电脑在同一网络,并获取其正确 IP:

bash

CollapseSaveCopy

1

ip a

  1. 尝试其他客户端或端口 从其他电脑使用 ssh 命令指定端口:bashCollapseCopy1ssh username@alpine-ip -p 22 使用 telnet 或 nc 测试端口连通性:bashCollapseCopy1telnet alpine-ip 22
  2. 排除其他可能性 检查是否修改了默认 SSH 端口:确认客户端连接的端口与配置一致。 用户权限问题:确保用于登录的用户存在于系统中。 SELinux/AppArmor:Alpine 默认不启用,但如有第三方安全模块需调整策略。 通过以上步骤,逐步排查即可解决 SSH 连接问题。如果仍不成功,请提供具体报错信息进一步分析。