我有一个问题时,部署一个项目5服务器我有. SSHD服务器版本是OpenSSH_7.4p1, OpenSSL 1.0.2k-fips 26 Jan 2017
,因为它是CentOS服务器,升级SSHD服务和从源代码编译不是一个选项
重要的SSHD
服务配置:
TCPKeepAlive yes
UseDns no
Protocol 2
字符串
在使用Capistrano进行部署时,有些步骤会通过,直到进入执行/usr/sbin/restorecon -R /u/apps/my_app/releases/20230724100000
的步骤restorecon
我得到了不同的错误:
mm_receive_fd: recvmsg: Message too long
mux_master_process_stdio_fwd: failed to receive fd 0 from client
mux_client_request_stdio_fwd: read from master failed: Broken pipe
channel_post_mux_listener: accept: Too many open files
muxclient: master hello exchange failed
mm_receive_fd: recvmsg: Message too long
mux_master_process_stdio_fwd: failed to receive fd 0 from client
mux_client_request_stdio_fwd: read from master failed: Broken pipe
Caused by:
Net::SSH::Proxy::ConnectError: command failed: ssh rorra@bastion.mydomain.com -o ConnectTimeout=60 -o ControlMaster=auto -o ControlPath=/tmp/sshrorra@bastion.mydomain.com -W server01.mydomain.com:\22
的数据
我试图删除ControlMaster
,但没有工作。我还将ControlMaster
设置为none,但它会在Capistrano的每一步都要求凭据,这可能会花费太多时间和命令
我尝试重新启动OpenSSH服务:
sudo systemctl restart sshd.service
型
但是得到了同样的错误
1条答案
按热度按时间ej83mcc01#
在检查了所有服务器上的所有内容、不同用户的不同限制、内核配置上的文件描述符限制等等之后,我发现问题实际上出在我的桌面上
通过使用
ulimit -n
检查桌面上的限制,我看到Ventura OS Limit为256,这是允许的文件描述符数量的一个非常低的数字按照this link上的说明操作,我能够更新系统上的文件描述符数量,并顺利部署
1.从菜单中打开终端并运行:
csrutil clear
个1.关机。2 Boot 进入恢复模式,选择选项,然后用您用户登录
1.从菜单中选择终端并运行:
csrutil disable
个1.正常 Boot ,编辑
/Library/LaunchDaemons/limit.maxfiles.plist
并将内容:字符串
1.从菜单中选择终端并运行:
csrutil enable
(这是一个非常重要的步骤,因为它将启用macosx系统完整性保护)ulimit -n
,您现在应该看到64.000,任何与问题相关的消息太长,fd控制台消息或部署或ssh到服务器期间的任何内容都应该消失