【问题标题】:How to install libssh2 on Ubuntu / RStudio Server如何在 Ubuntu / RStudio 服务器上安装 libssh2
【发布时间】:2024-04-28 07:20:02
【问题描述】:

对于运行 Ubuntu 的 droplet RStudio Server,我想使用 SFTP,但需要安装/启用 libssh2 才能这样做。

我曾尝试同时关注https://libin007.wordpress.com/2012/09/16/install-libssh2/http://englanders.us/~jason/howtos.php?howto=libssh2 来安装libssh2,但每次运行libcurlVersion() 时都会得到以下结果:

> libcurlVersion()
[1] "7.35.0"
attr(,"ssl_version")
[1] "OpenSSL/1.0.1f"
attr(,"libssh_version")
[1] ""
attr(,"protocols")
 [1] "dict"   "file"   "ftp"    "ftps"   "gopher" "http"   "https"  "imap"   "imaps"  "ldap"   "ldaps"  "pop3"   "pop3s"  "rtmp"   "rtsp"  
[16] "smtp"   "smtps"  "telnet" "tftp"  

所以即使我已经安装了 libssh2(或者至少我认为我已经安装了)R 也找不到它。

我的问题是,如何让 R 找到 libssh2/install 以便它找到它?


更新:

我没有修复它,但是因为我想将数据文件从一个 Droplet 服务器移动到另一个,所以我查看了 Rsync,它可以解决问题。对于任何有兴趣的人!

【问题讨论】:

  • 我修正了你标题中的一个错字。 R-server(不存在)是指 RStudio Server 吗?还是您的意思是西蒙的 Rserve?
  • RStudio 服务器 - 谢谢 :)

标签: r ubuntu libssh2


【解决方案1】:

您可能会混淆问题吗?

如果您想从外部通过 SFTP 与您的服务器通信,您需要运行 SSH 守护程序。这与 R 无关——做

 sudo apt-get install openssh-server

或者只是

 sudo apt-get install openssh-sftp-server

人们经常在将curl 构建为客户端包时遇到问题,但这与您的服务器如何响应外部流量无关。因此,您检查libcurlVersion() 对手头的问题没有意义。

【讨论】:

  • 我很可能会混淆问题,或者只是一般情况下感到困惑;)尝试运行“sudo apt-get install openssh-server”,但它已经安装了。此外,我可以通过 filezilla / SFTP 访问服务器,当我尝试通过我的桌面 R-studio 访问服务器时没有问题。只有当我尝试从另一个 R-server 访问服务器时才会出现此问题。
【解决方案2】:

在 Debian 系统上安装扩展包的步骤:

sudo apt-get install libssh2-php

sudo /etc/init.d/apache2 重启

就是这样!

【讨论】: