2017-03-09 137 views
1

所以,我创建了一个闪亮的小应用程序,我主持它的服务器上,让服务器说A.这个程序会尝试连接到另一台服务器,让说,服务器B由ssh。为了完成这个连接,我使用了CRAN的ssh.utils包中的run.remote。闪亮的服务器上闪亮的应用程序不要求SSH密码

当我尝试直接在服务器A上运行我从RStudio闪亮的应用程序(使用“运行应用程序”按钮),一个小窗口弹出要求输入密码才能访问服务器B.

然而,当我在服务器A上使用shiny-server并运行该应用程序时,我看到没有弹出窗口询问密码。然而,在这闪亮的服务器日志,我发现了以下消息:

Permission denied, please try again. 
Permission denied, please try again. 
Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password). 

意思是说我的应用程序试图三次访问,我不知道。

我的问题是,我应该有光泽的服务器做到这一点,也将弹出窗口询问密码,当我使用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) 

感谢事先。

回答

0

我不认为你可以通过密码run.remote,帮助文本状态(与问候到远程参数):

对SSH

远程机规格,格式如用户@服务器 那不需要交互式密码输入。对于执行本地 ,传递一个空字符串“”(默认值)。

所以解决方案将是passwordless ssh login

我觉得弹出框你在使用Rstudio是你的OS /桌面使用要求一个SSH密码对话框。

相关问题