Tingolfin Tingolfin - 1 year ago 93
R Question

R: change port to connect with SFTP server

I have a connection with an ftp server with the following code:

url <- "ftp://MyServer"
userpwd <- "MyUser:MyPass"
filenames <- getURL(url, userpwd = userpwd, ftp.use.epsv = FALSE, dirlistonly = TRUE, port = 22)
filen <- "MyFile.csv"
rawdata <- getURL(paste(url, filen, sep = ""), userpwd = userpwd, crlf = TRUE)

The file will be moved to an SFTP server, so I need to change the input. This new SFTP server is accessed via port 22 instead of the standard port 21. At the moment the connection fails with the following error

Error in function (type, msg, asError = TRUE) :
Failed to connect to MyServer port 21: Connection refused

It takes the wrong port, but how do I tell R to choose port 22?

Answer Source

You need to specify the SFTP protocol in the URL, so the line

url       <- "ftp://MyServer"

should become

url       <- "sftp://MyServer"

getUrl will then use the SSH port (22).

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download