【发布时间】:2018-09-02 20:42:10
【问题描述】:
所以,我创建了一个小的 Shiny 应用程序并将其托管在服务器上,比如服务器 A。这个应用程序将尝试连接到另一台服务器,比如通过 ssh 连接到服务器 B。为此,我使用了 CRAN 的 ssh.utils 包中的 run.remote。
当我尝试在服务器 A 上直接从 RStudio 运行我的 Shiny 应用程序(使用“运行应用程序”按钮)时,会弹出一个小窗口,要求输入密码以访问服务器 B。
但是,当我在服务器 A 上使用 shiny-server 并运行应用程序时,我看到没有弹出窗口要求输入密码。然而,在闪亮服务器日志中,我发现了以下消息:
Permission denied, please try again.
Permission denied, please try again.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
意味着我的应用程序已尝试 3 次以获取我不知道的访问权限。
我的问题是,我应该如何处理 shiny-server,这样它也会像使用 Rstudio 时一样弹出窗口询问密码?另一个是,我不想使用 ssh 私钥/公钥。
以下是我在服务器 A 中的简单代码:
library(shiny)
library(shinyFiles)
library(ssh.utils)
ui <- fluidPage(
navbarPage(title = "Main window",
tabPanel(title = "Test SSH",
textInput(inputId="username", label = h3("Username:")),
actionButton("submit", "Submit")
)
)
)
server <- function(input, output, session) {
observeEvent(input$submit, {
## submit function here ##
res <- run.remote("randomScript",remote = paste0(input$username,"@server-b.de"))
})
}
shinyApp(ui = ui, server = server)
先谢谢了。
【问题讨论】:
标签: ssh shiny shiny-server