崩溃外壳 - 配置和使用

时间:2016-04-04 09:39:43

标签: spring-boot crash-shell

我有一个名为ROCServerEntrypoint的应用程序正在使用spring-boot。我想运行嵌入CRaSH shell的Spring Boot应用程序。 我添加了以下maven依赖项。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-remote-shell</artifactId>
    <version>1.3.3.RELEASE</version>
</dependency>

根据需要,我在spring beans.xml中添加了以下配置,以启用通过SSH进行远程访问。

   <bean class="org.crsh.spring.SpringWebBootstrap" scope="prototype">
            <property name="config">
                <props>
                    <prop key="crash.telnet.port">5000</prop>
                    <!-- VFS configuration -->
                    <prop key="crash.vfs.refresh_period">1</prop>
                    <!-- SSH configuration -->
                    <prop key="crash.ssh.port">2000</prop>
                    <!-- Authentication configuration -->
                    <prop key="crash.auth">simple</prop>
                    <prop key="crash.auth.simple.username">admin</prop>
                    <prop key="crash.auth.simple.password">admin</prop>
                </props>
            </property>
        </bean>

</beans>

我很想知道接下来怎么办。 我是linux系统概念的新手。请简要说明远程访问它是什么意思以及崩溃shell如何帮助它?

此外,尝试通过SSH连接,它会抛出以下内容

[priyanka@priyanka-ux programs]$ ssh -p 2000 admin@localhost
ssh: connect to host localhost port 2000: Connection refused

这里有什么我想念的吗?

1 个答案:

答案 0 :(得分:0)

我还不能发表评论,所以我必须回答:

你已经解决了问题吗?

可以添加CRaSH以远程连接到正在运行的应用程序和查询管理或其他信息。简化的远程通常意味着使用某种终端程序从另一台计算机。但是“远程”也可能来自本地系统,就像你正在尝试的那样。

您可能需要查看CRaSH reference

如果您的问题仍然存在,可以提供一些有助于找到问题的提示:

  1. 确保您的程序正在运行
  2. 检查您的日志文件或system.out是否有任何错误和/或某些包含“ [...] .CrshAutoConfiguration $ CrshBootstrapBean [...] ”的行
  3. 尝试不使用自己的CRaSH配置,并使用spring boot autoconfiguration检查它是否正常运行with default settings
  4. 如果您不想修改应用程序,请使用简单的测试应用程序来检查CRaSH是否已正确初始化。像下面这样的东西可能已经足够了(假设你已经添加 spring-boot-starter-remote-shell作为依赖了!)

    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.boot.autoconfigure.websocket.WebSocketMessagingAutoConfiguration;
    
    @SpringBootApplication(exclude = { WebSocketMessagingAutoConfiguration.class })
    public class Application {
    
        public static void main(String[] args) throws Exception {
            SpringApplication.run(Application.class, args);
        }
    }