Я использую библиотеку Ruby Net:SSH для подключения ssh к удаленному ПК, а затем запускаю удаленный cmd. Когда я запускаю свое SSH-соединение, у меня нет проблем, но иногда, не везде, когда я использую exec! У меня есть ошибка, возвращенная в stderr, которая является tput: нет значения для $TERM и не указано -T.
Пример кода:
Net::SSH.start(nodeAddress, nodeLogin, :password => nodePassword, :port => nodePort) do |ssh|
ssh.exec! "cat \"#{sftpSshKey}\"" do |channel, stream, data|
if(stream == :stderr)
return "error tput"
end
end
end
Если у кого-то есть идея или уже была эта проблема.
Пример с кошкой работает нормально, если я использую это, я получаю ошибку tput:
ssh.exec! "test -r \"#{sftpSourceFile}\" && echo \"Read\" || echo \"NRead\"" do |channel, stream, data|
Если я использую это, у меня нет ошибки:
ssh.exec! "test -w \"#{nodeDestinationPath}\" && echo \"Write\" || echo \"NWrite\"" do |channel, stream, data|
С Уважением.