小编Ale*_*lex的帖子

com.jcraft.jsch.JSchException:UnknownHostKey

我正在尝试使用Jsch在Java中建立SSH连接.我的代码产生以下异常:

com.jcraft.jsch.JSchException: UnknownHostKey: mywebsite.com. 
RSA key fingerprint is 22:fb:ee:fe:18:cd:aa:9a:9c:78:89:9f:b4:78:75:b4
Run Code Online (Sandbox Code Playgroud)

我找不到如何在Jsch文档中验证主机密钥.我在下面提供了我的代码.

import com.jcraft.jsch.JSch;
import com.jcraft.jsch.Session;

public class ssh {
    public static void main(String[] arg) {

        try {
            JSch jsch = new JSch();

            //create SSH connection
            String host = "mywebsite.com";
            String user = "username";
            String password = "123456";

            Session session = jsch.getSession(user, host, 22);
            session.setPassword(password);
            session.connect();

        } catch(Exception e) {
            System.out.println(e);
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)

java ssh jsch

167
推荐指数
7
解决办法
17万
查看次数

使用java通过ssh连接到远程mysql数据库

如何通过SSH从Java应用程序连接到远程MySQL数据库.小代码示例对我有帮助,我很欣赏这一点.

java mysql ssh jsch mysql-connector

40
推荐指数
4
解决办法
6万
查看次数

如何在不使用 escape_html 包装代码的情况下将 slim 转换为 erb?

我正在将多个 html.slim 文件转换为 html.erb。在遵循了大量有关堆栈溢出的精彩建议和技巧之后,我已经基本完成了,但我对生成的 html.erb 代码并不满意。我知道它不会是完美的,但我Temple::Utils.escape_html((...))在链接中得到了额外的信息,如下所示:

<%= ::Temple::Utils.escape_html((link_to "Jobs", jobs_path)) %>

我终于在这里找到了Dimitry_N(Stack Overflow)的答案,但即使我--rails按照他的建议传递了标志,我仍然得到了多余的代码。

我遇到过一两个正则表达式选项来在创建文件删除附加代码,但我希望找到一些扩展 Dimitry 答案的内容,以便它们不会首先插入。

有没有人经历过这个或知道解决方案?

ruby-on-rails erb slim-lang

5
推荐指数
1
解决办法
348
查看次数

在rails中,Turbo只是将服务器的响应附加到当前页面的末尾

问题:Turbo 只是将服务器的响应附加到当前页面的末尾。没有像预期那样替换页面。

最近从 Rails 6 升级到 7。我还从 importmap 切换到 esbuild。

我有一个正在向创建方法发布帖子的表单。控制器响应

  if @stamp.save       
        redirect_to stamps_path, notice: "Input saved"
      else
Run Code Online (Sandbox Code Playgroud)

发生的奇怪的事情是响应从顶部附加到源代码的底部。因此,在原始源代码的末尾附加了响应中的新头部部分,如下所示

<...> The whole initial html <...>
</body>
<title>Page title</title> <-- The server response gets appended after </body>
<meta .... the whole page gets repeated again
Run Code Online (Sandbox Code Playgroud)

不太确定要在这里向您展示什么,一直在研究所有设置等。我从未见过 Turbo 有这样的响应行为。

source "https://rubygems.org"
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby "3.1.2"
gem "rails", "~> 7.0.2", ">= 7.0.2.4"
gem "sprockets-rails"
gem "puma", "~> 5.6"
gem "haml-rails", "~> 2.0"
gem "sqlite3", "~> 1.4"
gem 'devise', '~> …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails hotwire-rails turbo-frames ruby-on-rails-7

5
推荐指数
1
解决办法
1519
查看次数

如何在 Rails 6 中使用 Importmaps 设置 ActionCable?(MRI 和 Jruby)

Actioncable - 概述。

\n

我正在使用 jruby 9.2.16(因此 ruby​​ 2.5.7)和 Rails 6.1.6.1。

\n

我不确定 Actioncable 是否仅在开发中或仅在没有 ssl (wss) 的情况下可以与简单客户端一起使用:

\n
var ws = new WebSocket(\'ws://0.0.0.0:3000/channels\');\nws.onmessage = function(e){ console.log(e.data); }\n
Run Code Online (Sandbox Code Playgroud)\n

但至少我没有让它在生产中使用 wss 运行“从通道流式传输”,因为它在本地工作(在终端中启动“redis-cli”,然后“监视”)。

\n

所以我尝试实现可操作的客户端脚本,因此浪费了 8 天的时间。

\n
    \n
  1. 首先,我对没有任何完整的描述感到困惑。许多人发布特定的解决方案,但这就像赌博:也许你很幸运。

    \n
  2. \n
  3. 其次,文件的命名方式似乎很通用,即使它们仅与可操作相关(文件夹“javascript”或“application.js”)\n不将它们称为“actioncable_files”会产生误导。 ' 和 \'actioncable_app.js\' 和 voil\xc3\xa0 由于多个同名文件而出现问题。

    \n
  4. \n
  5. 下一个问题是,只需更改很多内容,因为文件的有序结构被忽略。Javascript 不再位于 asset 中,但为什么?\n它们可能位于 asset/javascripts/actioncable/ 中?\n因此,manifest.js 必须更改,甚至必须在 application.rb 中添加属性(attr_accessor :importmap)。您在论坛几天后发现的东西。

    \n
  6. \n
  7. 但更令人困惑的是: importmap 是一个 gem,它需要一些目录,并且必须以某种方式安装(rake app:update:bin、rails importmap:install),有人写道,gems 的顺序是相关的,但你不能只卸载Actioncable gem,因为 Rails 依赖于它。可以使用优先级排列来组织依赖关系。

    \n
  8. \n
  9. importmaps 在 Firefox 中不起作用,因此您还需要垫片

    \n
  10. \n …

ruby ruby-on-rails jruby actioncable import-maps

1
推荐指数
1
解决办法
1534
查看次数

Rails 7 无法使用表单方法 get 设置格式 Turbo_stream

<%= form_with url: search_orders_path do |f| %>
...
<% end %> 
Run Code Online (Sandbox Code Playgroud)

它发送一个turbo_stream格式的请求,但是当我将方法更改为get(视图和路由)时,它以html形式发送:

<%= form_with url: search_orders_path, method: :get do |f| %>
...
<% end %> 
Run Code Online (Sandbox Code Playgroud)

我想用 get 方法和 Turbo 格式制作一个表单

javascript ruby-on-rails hotwire-rails

1
推荐指数
1
解决办法
1300
查看次数

在 Rails 7.1 中调用服务类方法时出错

轨道7.1

在我的应用程序/服务/工具中,我有一个文件:services_tools.rb

在 services_tools.rb 中,我有:

module ServicesTools
  class ErbToSlim
    def convert_erb_to_slim(erb_file)
      ...........
    end
  end

  class NestedMigrationCreator
    def generate_nested_migration(migration_namespace:, migration_name:, migration_code: nil)
      ..........
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我进入命令行,然后执行以下操作:

rails c
Run Code Online (Sandbox Code Playgroud)

然后我这样做:

creator = ServicesTools::NestedMigrationCreator.new
Run Code Online (Sandbox Code Playgroud)

我收到以下消息:

(irb):1:in `<main>': uninitialized constant ServicesTools (NameError)
Run Code Online (Sandbox Code Playgroud)

在控制台中,当我这样做时:

ActiveSupport::Dependencies.autoload_paths
Run Code Online (Sandbox Code Playgroud)

我得到:

"/lib",
"/test/mailers/previews",
"/app/channels",
"/app/controllers",
"/app/controllers/concerns",
"/app/helpers",
"/app/jobs",
"/app/mailers",
"/app/models",
"/app/models/concerns",
"/app/services",
...
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

ruby-on-rails zeitwerk

1
推荐指数
1
解决办法
114
查看次数