欢迎光临
我们一直在努力

SSH远程执行Ubuntu命令报错怎么办,如何配置密钥免密登录?

本文详解SSH远程执行Ubuntu命令的完整流程,包含密钥配置、常见报错解决方案及自动化脚本编写技巧,通过真实案例演示如何实现跨服务器批量操作,特别提供防火墙设置与权限管理实用指南。

SSH连接Ubuntu服务器提示权限被拒绝怎么办

当出现Permission denied (publickey)错误时,80%的案例源于密钥配置不当。首先检查本地~/.ssh目录是否包含id_rsa.pub文件,执行ssh-copy-id -i ~/.ssh/id_rsa.pub user@hostname完成密钥传输。某开发团队曾因文件权限问题导致连接失败,将.ssh目录权限设为700、私钥权限设为600后成功解决。

如何创建SSH密钥实现Ubuntu免密登录

使用ssh-keygen -t ed25519生成更安全的密钥对,相比传统RSA算法,ED25519密钥长度更短且安全性更高。配置时需注意:

  • 修改/etc/ssh/sshd_config中PubkeyAuthentication参数为yes
  • 禁用密码登录需设置PasswordAuthentication no
  • 重启服务命令systemctl restart sshd

某运维工程师通过该方案将服务器登录耗时从2分钟缩短至3秒。

多台Ubuntu服务器如何批量执行命令

采用pssh工具可实现跨主机操作:

  1. 安装parallel-ssh:sudo apt install pssh
  2. 创建hosts.txt文件列所有服务器IP
  3. 执行批量命令:parallel-ssh -h hosts.txt “uptime”

某电商平台用此方法同时更新200+服务器,效率提升90%。配合tmux工具可实时监控各节点执行状态。

SSH远程执行Ubuntu命令报错怎么办,如何配置密钥免密登录?

SSH执行命令时防火墙如何配置

Ubuntu默认UFW防火墙需开放22端口:

  • 启用防火墙:sudo ufw enable
  • 开放端口:sudo ufw allow 22/tcp
  • 检查状态:sudo ufw status verbose

遇到连接超时问题时,可用telnet hostname 22测试端口连通性。某游戏公司曾因未配置防火墙规则导致全球节点同步失败,按此方案调整后恢复正常。

FAQ:SSH远程执行高频问题集

Q:执行命令后无响应?
A:在命令末尾添加-t参数分配伪终端,例如:ssh user@host -t “top”

Q:如何限制SSH用户执行特定命令?
A:在~/.ssh/authorized_keys文件对应密钥前添加command=”允许的命令”限制参数

Q:长时间连接自动断开怎么处理?
A:修改服务器端sshd_config:
ClientAliveInterval 60
ClientAliveCountMax 5

赞(0) 打赏
未经允许不得转载:九零云资讯网 » SSH远程执行Ubuntu命令报错怎么办,如何配置密钥免密登录?

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫