{"record":{"id":"d7a9a856bf5de340","repo":"ytti/oxidized","slug":"can-t-get-shell","errorCode":null,"errorMessage":"Can't get shell","messagePattern":"Can't get shell","errorType":"exception","errorClass":"NoShell","httpStatus":null,"severity":"error","filePath":"lib/oxidized/input/ssh.rb","lineNumber":104,"sourceCode":"    ensure\n      @yaml_debug&.close\n      @text_debug&.close\n      (@ssh.close rescue true) unless @ssh.closed? # rubocop:disable Style/RedundantParentheses\n    end\n\n    def shell_open(ssh)\n      @ses = ssh.open_channel do |ch|\n        ch.on_data do |_ch, data|\n          @yaml_debug&.receive_data(data)\n          @text_debug&.receive_data(data)\n          @output << data\n          @output = @node.model.expects @output\n        end\n        ch.request_pty(@pty_options) do |_ch, success_pty|\n          raise NoShell, \"Can't get PTY\" unless success_pty\n\n          ch.send_channel_request 'shell' do |_ch, success_shell|\n            raise NoShell, \"Can't get shell\" unless success_shell\n          end\n        end\n      end\n    end\n\n    def exec(state = nil)\n      return nil if vars(:ssh_no_exec)\n\n      state.nil? ? @exec : (@exec = state)\n    end\n\n    def cmd_shell(cmd, expect_re)\n      @output = String.new('')\n\n      @yaml_debug&.send_data(cmd + newline)\n      @text_debug&.send_data(cmd + newline)\n      @ses.send_data cmd + newline\n      @ses.process","sourceCodeStart":86,"sourceCodeEnd":122,"githubUrl":"https://github.com/ytti/oxidized/blob/687ed4262d9d21e54662e872e2383386d8498f7b/lib/oxidized/input/ssh.rb#L86-L122","documentation":"Error \"Can't get shell\" thrown in ytti/oxidized.","triggerScenarios":"Thrown at lib/oxidized/input/ssh.rb:104 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"687ed4262d9d21e54662e872e2383386d8498f7b","analyzedAt":"2026-08-23T11:19:42.084Z","schemaVersion":2},"datasetVersion":"2026-08-23T16:17:53.355Z"}