ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Solved Copy file from Windows Server to hosted external CentOS server

    IT Discussion
    8
    29
    3.2k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • ObsolesceO
      Obsolesce
      last edited by Obsolesce

      I posted a question similar to this one maybe a couple months ago, either on ML or SW (can't remember, and can't find it!).

      Anyways, I'm still at a loss here:

      I have an on-prem Windows server (Serv2016) with internet access, but cannot be accessed externally.

      I also have a virtual private server (CentOS) hosted with Godaddy, with SSH access. I can connect to it just fine with Putty.

      What I'm trying to figure out, is how I can get a file from my on-prem Windows server, to the cloud server, automatically via Scheduled Task?

      I'm stuck, and now in a spot where I can work on this some more. But I can't find my previous Post to bring this back into the light and review previous responses.

      scottalanmillerS F 3 Replies Last reply Reply Quote 1
      • scottalanmillerS
        scottalanmiller @Obsolesce
        last edited by

        @Tim_G said in Copy file from Windows Server to hosted external CentOS server:

        I posted a question similar to this one maybe a couple months ago, either on ML or SW (can't remember, and can't find it!).

        Maybe it was answered wherever it was 😉

        ObsolesceO 1 Reply Last reply Reply Quote 0
        • dafyreD
          dafyre
          last edited by dafyre

          WinSCP is a good SFTP Client for Windows. Filezilla also works nicely too.

          Edit: Didn't see the bit about needing something automated. WinSCP definitely does this.

          1 Reply Last reply Reply Quote 1
          • scottalanmillerS
            scottalanmiller @Obsolesce
            last edited by

            @Tim_G said in Copy file from Windows Server to hosted external CentOS server:

            I have an on-prem Windows server (Serv2016) with internet access, but cannot be accessed externally.

            I also have a virtual private server (CentOS) hosted with Godaddy, with SSH access. I can connect to it just fine with Putty.

            Sounds like a job for SCP or SFTP. Run SCP on Windows and automate it to push the file.

            1 Reply Last reply Reply Quote 1
            • ObsolesceO
              Obsolesce @scottalanmiller
              last edited by Obsolesce

              @scottalanmiller I looked for it and searched here and on SW. I must have forgotten the title I used, and not searching close enough to what I asked. I don't know. I gave it a good 10 minute search. I forgot what all the replies were because I got busy with something else (more important) and had to stick it on the back burner ^_^

              1 Reply Last reply Reply Quote 0
              • scottalanmillerS
                scottalanmiller
                last edited by

                https://the.earth.li/~sgtatham/putty/latest/x86/pscp.exe

                That's the PSCP command for Windows from Putty. You can use that from the command line exactly like SCP.

                1 Reply Last reply Reply Quote 2
                • F
                  Francesco Provino @Obsolesce
                  last edited by

                  @Tim_G said in Copy file from Windows Server to hosted external CentOS server:

                  I posted a question similar to this one maybe a couple months ago, either on ML or SW (can't remember, and can't find it!).

                  Anyways, I'm still at a loss here:

                  I have an on-prem Windows server (Serv2016) with internet access, but cannot be accessed externally.

                  I also have a virtual private server (CentOS) hosted with Godaddy, with SSH access. I can connect to it just fine with Putty.

                  What I'm trying to figure out, is how I can get a file from my on-prem Windows server, to the cloud server, automatically via Scheduled Task?

                  I'm stuck, and now in a spot where I can work on this some more. But I can't find my previous Post to bring this back into the light and review previous responses.

                  Of course you can do it directly via SFTP.
                  Or maybe, create a VPN between the two machines and setup a simple samba server on the CentOS machine and mount it in the windows one.

                  You can also do the transfer via Rsync (it works on windows).

                  It'a a simple task and you can do it in many ways, you just have to choose what is a better fit for your needs.

                  1 Reply Last reply Reply Quote 0
                  • ObsolesceO
                    Obsolesce
                    last edited by

                    Excellent, definitely a few seeds planted for me to expand on.

                    I'll check into WinSCP first to see if there's a way I can get things going.

                    Note: There's not FTP access. ONLY SSH. WinSCP still a good place to start?

                    JaredBuschJ scottalanmillerS 2 Replies Last reply Reply Quote 0
                    • JaredBuschJ
                      JaredBusch @Obsolesce
                      last edited by

                      @Tim_G said in Copy file from Windows Server to hosted external CentOS server:

                      Excellent, definitely a few seeds planted for me to expand on.

                      I'll check into WinSCP first to see if there's a way I can get things going.

                      Note: There's not FTP access. ONLY SSH. WinSCP still a good place to start?

                      Install it and make a connection. If it works, you can automate it easily.

                      T 1 Reply Last reply Reply Quote 1
                      • scottalanmillerS
                        scottalanmiller @Obsolesce
                        last edited by

                        @Tim_G said in Copy file from Windows Server to hosted external CentOS server:

                        Note: There's not FTP access. ONLY SSH. WinSCP still a good place to start?

                        WinSCP is an SSH tool. SCP and SFTP are part of SSH. If you have SSH, you have SFTP.

                        ObsolesceO 1 Reply Last reply Reply Quote 0
                        • T
                          tiagom @JaredBusch
                          last edited by

                          @JaredBusch said in Copy file from Windows Server to hosted external CentOS server:

                          @Tim_G said in Copy file from Windows Server to hosted external CentOS server:

                          Excellent, definitely a few seeds planted for me to expand on.

                          I'll check into WinSCP first to see if there's a way I can get things going.

                          Note: There's not FTP access. ONLY SSH. WinSCP still a good place to start?

                          Install it and make a connection. If it works, you can automate it easily.

                          Here's a PS way to automate it.

                          https://winscp.net/eng/docs/library_powershell#example

                          JaredBuschJ 1 Reply Last reply Reply Quote 1
                          • JaredBuschJ
                            JaredBusch @tiagom
                            last edited by

                            @tiagom said in Copy file from Windows Server to hosted external CentOS server:

                            @JaredBusch said in Copy file from Windows Server to hosted external CentOS server:

                            @Tim_G said in Copy file from Windows Server to hosted external CentOS server:

                            Excellent, definitely a few seeds planted for me to expand on.

                            I'll check into WinSCP first to see if there's a way I can get things going.

                            Note: There's not FTP access. ONLY SSH. WinSCP still a good place to start?

                            Install it and make a connection. If it works, you can automate it easily.

                            Here's a PS way to automate it.

                            https://winscp.net/eng/docs/library_powershell#example

                            Right, the developer of WinSCP made it very flexible.

                            1 Reply Last reply Reply Quote 0
                            • ObsolesceO
                              Obsolesce @scottalanmiller
                              last edited by

                              @scottalanmiller said in Copy file from Windows Server to hosted external CentOS server:

                              @Tim_G said in Copy file from Windows Server to hosted external CentOS server:

                              Note: There's not FTP access. ONLY SSH. WinSCP still a good place to start?

                              WinSCP is an SSH tool. SCP and SFTP are part of SSH. If you have SSH, you have SFTP.

                              That's right. I was thinking FTPS... Two very different things.

                              scottalanmillerS 1 Reply Last reply Reply Quote 0
                              • GreyG
                                Grey
                                last edited by

                                Or use something like dropbox, placing the file in the dropbox space on the server to sync, and then wget the file.

                                1 Reply Last reply Reply Quote 0
                                • scottalanmillerS
                                  scottalanmiller @Obsolesce
                                  last edited by

                                  @Tim_G said in Copy file from Windows Server to hosted external CentOS server:

                                  @scottalanmiller said in Copy file from Windows Server to hosted external CentOS server:

                                  @Tim_G said in Copy file from Windows Server to hosted external CentOS server:

                                  Note: There's not FTP access. ONLY SSH. WinSCP still a good place to start?

                                  WinSCP is an SSH tool. SCP and SFTP are part of SSH. If you have SSH, you have SFTP.

                                  That's right. I was thinking FTPS... Two very different things.

                                  Yup. Just a bit.
                                  Command line SCP or SFTP will work great here. Easy peasy and direct.

                                  1 Reply Last reply Reply Quote 2
                                  • ObsolesceO
                                    Obsolesce
                                    last edited by Obsolesce

                                    Update:

                                    I got it working cleanly and smoothly with WinSCP. Thanks for the pointer everyone!

                                    If anyone else who comes by this wants to know the procedure:

                                    • Download and install WinSCP on your Windows Server
                                    • Create a basic Scheduled Task, name it, schedule it --> "Start a program", browse to WinSCP.exe.
                                    • Use the argument:
                                    /log=C:\Users\<userProfile>\Desktop\<logName>.log /script=C:\Users\<userProfile>\Desktop\<scriptName>.txt
                                    
                                    • Open properties of Scheduled Task, change to run even if not logged in, run with highest privileges, click OK and enter password.

                                    Script Contents

                                    The <scriptName>.txt file can include what you need to happen. My use case was a simple one, and looked like this:

                                    # Connect
                                    open sftp://<username>:<password>@123.45.67.890 -hostkey="ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
                                    
                                    # Change remote directory
                                    cd /var/www/html/pki
                                    
                                    # Force binary mode transfer
                                    option transfer binary
                                    
                                    # Upload the files to current working directory
                                    put "D:\pki\<name>.html"
                                    put "D:\pki\<name>.crl"
                                    put "D:\pki\<name>+.crl"
                                    put "D:\pki\<name>.crl"
                                    put "D:\pki\<name>.crt"
                                    put "D:\pki\<name>.crt"
                                    
                                    # Disconnect
                                    close
                                    
                                    # Exit WinSCP
                                    exit
                                    

                                    Edit: Fixed formatting thanks to JaredBusch's advice below.

                                    JaredBuschJ 1 Reply Last reply Reply Quote 4
                                    • JaredBuschJ
                                      JaredBusch @Obsolesce
                                      last edited by JaredBusch

                                      @Tim_G said in Copy file from Windows Server to hosted external CentOS server:

                                      Note: The above pound symbols do not have a ' after them in the script. I added them on here to avoid formatting issues.

                                      Use the code format by putting 3 backticks in front of and behind the code block. Or escape the # sign by puting a \ in front of it.

                                      Click quote below this post to see it prefaced with > of course, but it lets you see what I mean.

                                      # Connect
                                      open sftp://<username>:<password>@123.45.67.890 -hostkey="ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
                                      
                                      # Change remote directory
                                      cd /var/www/html/pki
                                      
                                      # Force binary mode transfer
                                      option transfer binary
                                      
                                      # Upload the files to current working directory
                                      put "D:\pki\<name>.html"
                                      put "D:\pki\<name>.crl"
                                      put "D:\pki\<name>+.crl"
                                      put "D:\pki\<name>.crl"
                                      put "D:\pki\<name>.crt"
                                      put "D:\pki\<name>.crt"
                                      
                                      # Disconnect
                                      close
                                      
                                      # Exit WinSCP
                                      exit
                                      

                                      # Connect
                                      open sftp://<username>:<password>@123.45.67.890 -hostkey="ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"

                                      # Change remote directory
                                      cd /var/www/html/pki

                                      # Force binary mode transfer
                                      option transfer binary

                                      # Upload the files to current working directory
                                      put "D:\pki<name>.html"
                                      put "D:\pki<name>.crl"
                                      put "D:\pki<name>+.crl"
                                      put "D:\pki<name>.crl"
                                      put "D:\pki<name>.crt"
                                      put "D:\pki<name>.crt"

                                      # Disconnect
                                      close

                                      # Exit WinSCP
                                      exit

                                      1 Reply Last reply Reply Quote 1
                                      • AdamFA
                                        AdamF
                                        last edited by

                                        I'm doing something very similar but cannot get the scheduled task to take my arguments properly.

                                        I'm not sure where it is failing. Scheduled tasks gives no errors, just information.

                                        The only difference is that my server listens on a port other than 22 for SSH. So, I put a :XXXX (port number) in the first command. Still no dice. I'm not sure if it is failing on the contents of the script, or failing because of the arguments.

                                        # Connect
                                        open sftp://<username>:<password>@123.45.67.890:XXXX -hostkey="ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
                                        

                                        The only info I get from event viewer is:

                                        Task Scheduler successfully completed task "\Get Call Recordings" , instance "{13fcf873-f123-46e6-8e80-6ce90b57638c}" , action "C:\Program Files (x86)\WinSCP\WinSCP.exe" with return code 0.
                                        1111
                                        ObsolesceO 1 Reply Last reply Reply Quote 0
                                        • ObsolesceO
                                          Obsolesce @AdamF
                                          last edited by

                                          @fuznutz04 said in Copy file from Windows Server to hosted external CentOS server:

                                          I'm doing something very similar but cannot get the scheduled task to take my arguments properly.

                                          I'm not sure where it is failing. Scheduled tasks gives no errors, just information.

                                          The only difference is that my server listens on a port other than 22 for SSH. So, I put a :XXXX (port number) in the first command. Still no dice. I'm not sure if it is failing on the contents of the script, or failing because of the arguments.

                                          # Connect
                                          open sftp://<username>:<password>@123.45.67.890:XXXX -hostkey="ssh-rsa 2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx"
                                          

                                          The only info I get from event viewer is:

                                          Task Scheduler successfully completed task "\Get Call Recordings" , instance "{13fcf873-f123-46e6-8e80-6ce90b57638c}" , action "C:\Program Files (x86)\WinSCP\WinSCP.exe" with return code 0.
                                          1111
                                          

                                          See if you can connect normally.

                                          Open up a command prompt and run winscp.exe.

                                          Then type just:

                                          open sftp://<username>@123.45.67.890:XXXX -hostkey="ssh-rsa 2048 <hostkey>"
                                          

                                          If you can connect this way, by it prompting you to enter a username, then...

                                          it might be that you may be using an unsupported character in your password... preventing you from including the password in the line you posted.

                                          If the script actually runs, and you are using "/log=<path><log file>.log in the argument, you can check that log.

                                          1 Reply Last reply Reply Quote 3
                                          • AdamFA
                                            AdamF
                                            last edited by

                                            So that works properly if I run it through command prompt. (meaning, it will open WinSCP and login successfully. ) However, for the scheduled task, it appears that it isnt even attempting to read that script.

                                            Note: my password is all normal letters for this test.

                                            ObsolesceO 1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post