How to transfer files remote to local using SSH
What terminal command can I use to transfer a directory from a remote machine (linux) to my local machine (mac)? Most importantly, I'd like to do this from the command line while SSH'ed into the remote machine. I know how to use SCP while on my local machine command line, but I have no idea how I'd use it from the remote machine (nor what my local path would be).
ssh
|
show 4 more comments
What terminal command can I use to transfer a directory from a remote machine (linux) to my local machine (mac)? Most importantly, I'd like to do this from the command line while SSH'ed into the remote machine. I know how to use SCP while on my local machine command line, but I have no idea how I'd use it from the remote machine (nor what my local path would be).
ssh
Is your local machine behind a firewall? Is there a particular reason you need to do this while remotely logged in?
– ND Geek
Sep 21 '12 at 18:02
I'm using su to access the files, so didn't think I could do this while not logged in.
– UnixNewbie2012
Sep 21 '12 at 18:04
Ah. Well, if you have read access to the files while not root, you should still be able to access them via scp from your local machine. If they're not readable by anyone that isn't root, then yeah, you'd need to run the copy as root.
– ND Geek
Sep 21 '12 at 18:06
Right. So I have to run the copy as root. Seems like SCP still works if I know the full path to my mac, right? How would I find this?
– UnixNewbie2012
Sep 21 '12 at 18:07
Well, that goes back to my first question, are you behind a firewall/router, or is your Mac publicly accessible (if you're at home, are you directly plugged into your modem?)?
– ND Geek
Sep 21 '12 at 18:08
|
show 4 more comments
What terminal command can I use to transfer a directory from a remote machine (linux) to my local machine (mac)? Most importantly, I'd like to do this from the command line while SSH'ed into the remote machine. I know how to use SCP while on my local machine command line, but I have no idea how I'd use it from the remote machine (nor what my local path would be).
ssh
What terminal command can I use to transfer a directory from a remote machine (linux) to my local machine (mac)? Most importantly, I'd like to do this from the command line while SSH'ed into the remote machine. I know how to use SCP while on my local machine command line, but I have no idea how I'd use it from the remote machine (nor what my local path would be).
ssh
ssh
asked Sep 21 '12 at 17:58
UnixNewbie2012UnixNewbie2012
3326
3326
Is your local machine behind a firewall? Is there a particular reason you need to do this while remotely logged in?
– ND Geek
Sep 21 '12 at 18:02
I'm using su to access the files, so didn't think I could do this while not logged in.
– UnixNewbie2012
Sep 21 '12 at 18:04
Ah. Well, if you have read access to the files while not root, you should still be able to access them via scp from your local machine. If they're not readable by anyone that isn't root, then yeah, you'd need to run the copy as root.
– ND Geek
Sep 21 '12 at 18:06
Right. So I have to run the copy as root. Seems like SCP still works if I know the full path to my mac, right? How would I find this?
– UnixNewbie2012
Sep 21 '12 at 18:07
Well, that goes back to my first question, are you behind a firewall/router, or is your Mac publicly accessible (if you're at home, are you directly plugged into your modem?)?
– ND Geek
Sep 21 '12 at 18:08
|
show 4 more comments
Is your local machine behind a firewall? Is there a particular reason you need to do this while remotely logged in?
– ND Geek
Sep 21 '12 at 18:02
I'm using su to access the files, so didn't think I could do this while not logged in.
– UnixNewbie2012
Sep 21 '12 at 18:04
Ah. Well, if you have read access to the files while not root, you should still be able to access them via scp from your local machine. If they're not readable by anyone that isn't root, then yeah, you'd need to run the copy as root.
– ND Geek
Sep 21 '12 at 18:06
Right. So I have to run the copy as root. Seems like SCP still works if I know the full path to my mac, right? How would I find this?
– UnixNewbie2012
Sep 21 '12 at 18:07
Well, that goes back to my first question, are you behind a firewall/router, or is your Mac publicly accessible (if you're at home, are you directly plugged into your modem?)?
– ND Geek
Sep 21 '12 at 18:08
Is your local machine behind a firewall? Is there a particular reason you need to do this while remotely logged in?
– ND Geek
Sep 21 '12 at 18:02
Is your local machine behind a firewall? Is there a particular reason you need to do this while remotely logged in?
– ND Geek
Sep 21 '12 at 18:02
I'm using su to access the files, so didn't think I could do this while not logged in.
– UnixNewbie2012
Sep 21 '12 at 18:04
I'm using su to access the files, so didn't think I could do this while not logged in.
– UnixNewbie2012
Sep 21 '12 at 18:04
Ah. Well, if you have read access to the files while not root, you should still be able to access them via scp from your local machine. If they're not readable by anyone that isn't root, then yeah, you'd need to run the copy as root.
– ND Geek
Sep 21 '12 at 18:06
Ah. Well, if you have read access to the files while not root, you should still be able to access them via scp from your local machine. If they're not readable by anyone that isn't root, then yeah, you'd need to run the copy as root.
– ND Geek
Sep 21 '12 at 18:06
Right. So I have to run the copy as root. Seems like SCP still works if I know the full path to my mac, right? How would I find this?
– UnixNewbie2012
Sep 21 '12 at 18:07
Right. So I have to run the copy as root. Seems like SCP still works if I know the full path to my mac, right? How would I find this?
– UnixNewbie2012
Sep 21 '12 at 18:07
Well, that goes back to my first question, are you behind a firewall/router, or is your Mac publicly accessible (if you're at home, are you directly plugged into your modem?)?
– ND Geek
Sep 21 '12 at 18:08
Well, that goes back to my first question, are you behind a firewall/router, or is your Mac publicly accessible (if you're at home, are you directly plugged into your modem?)?
– ND Geek
Sep 21 '12 at 18:08
|
show 4 more comments
3 Answers
3
active
oldest
votes
Start the sshd
on your local computer if you hadn't already done this. Then start a second session from your local computer to the remote computer:
ssh -R 2222:127.0.0.1:22 user@remote
This forwards the remote port 2222 to the sshd
listening on 127.0.0.1 on your local computer, creating a reverse tunnel
. Then run scp
on the remote computer:
scp -P2222 file 127.0.0.1:/path/
I did not know that. Much simpler!
– ND Geek
Sep 21 '12 at 18:36
Wow cool. This is the way to go.
– UnixNewbie2012
Sep 21 '12 at 18:45
add a comment |
You can also do the opposite, to grab a file from a remote machine to the local machine,
ssh -L 2222:user@192.168.1.37:22 user@remoteserver.com -N &
scp -P 2222 127.0.0.1:/path/to/file/on/remote/machine.diff /tmp
The ssh command sets up a tunnel from localhost:2222 to the remote machine 192.168.1.37 behind the net facing server remoteserver.com. The second command lets you copy it locally.
Some good examples and tips here, and how to configure it in ~/.ssh/config to automate it.
add a comment |
If you're locally behind a router/firewall that is giving you a private IP address, you'll need to configure the router to NAT a port to map to your local port 22. You can then access it from the remote computer by addressing your public IP address on whatever port you choose (you can map port 22 directly, but I generally personally recommend avoiding this as standard server ports are common targets for malware trying to find a way in).
That won't be necessary.
– Ansgar Wiechers
Sep 21 '12 at 18:34
One other note: make sure that Remote Login is enabled via System Preferences if on a mac.
– UnixNewbie2012
Sep 21 '12 at 18:34
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f478028%2fhow-to-transfer-files-remote-to-local-using-ssh%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
Start the sshd
on your local computer if you hadn't already done this. Then start a second session from your local computer to the remote computer:
ssh -R 2222:127.0.0.1:22 user@remote
This forwards the remote port 2222 to the sshd
listening on 127.0.0.1 on your local computer, creating a reverse tunnel
. Then run scp
on the remote computer:
scp -P2222 file 127.0.0.1:/path/
I did not know that. Much simpler!
– ND Geek
Sep 21 '12 at 18:36
Wow cool. This is the way to go.
– UnixNewbie2012
Sep 21 '12 at 18:45
add a comment |
Start the sshd
on your local computer if you hadn't already done this. Then start a second session from your local computer to the remote computer:
ssh -R 2222:127.0.0.1:22 user@remote
This forwards the remote port 2222 to the sshd
listening on 127.0.0.1 on your local computer, creating a reverse tunnel
. Then run scp
on the remote computer:
scp -P2222 file 127.0.0.1:/path/
I did not know that. Much simpler!
– ND Geek
Sep 21 '12 at 18:36
Wow cool. This is the way to go.
– UnixNewbie2012
Sep 21 '12 at 18:45
add a comment |
Start the sshd
on your local computer if you hadn't already done this. Then start a second session from your local computer to the remote computer:
ssh -R 2222:127.0.0.1:22 user@remote
This forwards the remote port 2222 to the sshd
listening on 127.0.0.1 on your local computer, creating a reverse tunnel
. Then run scp
on the remote computer:
scp -P2222 file 127.0.0.1:/path/
Start the sshd
on your local computer if you hadn't already done this. Then start a second session from your local computer to the remote computer:
ssh -R 2222:127.0.0.1:22 user@remote
This forwards the remote port 2222 to the sshd
listening on 127.0.0.1 on your local computer, creating a reverse tunnel
. Then run scp
on the remote computer:
scp -P2222 file 127.0.0.1:/path/
answered Sep 21 '12 at 18:33
Ansgar WiechersAnsgar Wiechers
4,64021321
4,64021321
I did not know that. Much simpler!
– ND Geek
Sep 21 '12 at 18:36
Wow cool. This is the way to go.
– UnixNewbie2012
Sep 21 '12 at 18:45
add a comment |
I did not know that. Much simpler!
– ND Geek
Sep 21 '12 at 18:36
Wow cool. This is the way to go.
– UnixNewbie2012
Sep 21 '12 at 18:45
I did not know that. Much simpler!
– ND Geek
Sep 21 '12 at 18:36
I did not know that. Much simpler!
– ND Geek
Sep 21 '12 at 18:36
Wow cool. This is the way to go.
– UnixNewbie2012
Sep 21 '12 at 18:45
Wow cool. This is the way to go.
– UnixNewbie2012
Sep 21 '12 at 18:45
add a comment |
You can also do the opposite, to grab a file from a remote machine to the local machine,
ssh -L 2222:user@192.168.1.37:22 user@remoteserver.com -N &
scp -P 2222 127.0.0.1:/path/to/file/on/remote/machine.diff /tmp
The ssh command sets up a tunnel from localhost:2222 to the remote machine 192.168.1.37 behind the net facing server remoteserver.com. The second command lets you copy it locally.
Some good examples and tips here, and how to configure it in ~/.ssh/config to automate it.
add a comment |
You can also do the opposite, to grab a file from a remote machine to the local machine,
ssh -L 2222:user@192.168.1.37:22 user@remoteserver.com -N &
scp -P 2222 127.0.0.1:/path/to/file/on/remote/machine.diff /tmp
The ssh command sets up a tunnel from localhost:2222 to the remote machine 192.168.1.37 behind the net facing server remoteserver.com. The second command lets you copy it locally.
Some good examples and tips here, and how to configure it in ~/.ssh/config to automate it.
add a comment |
You can also do the opposite, to grab a file from a remote machine to the local machine,
ssh -L 2222:user@192.168.1.37:22 user@remoteserver.com -N &
scp -P 2222 127.0.0.1:/path/to/file/on/remote/machine.diff /tmp
The ssh command sets up a tunnel from localhost:2222 to the remote machine 192.168.1.37 behind the net facing server remoteserver.com. The second command lets you copy it locally.
Some good examples and tips here, and how to configure it in ~/.ssh/config to automate it.
You can also do the opposite, to grab a file from a remote machine to the local machine,
ssh -L 2222:user@192.168.1.37:22 user@remoteserver.com -N &
scp -P 2222 127.0.0.1:/path/to/file/on/remote/machine.diff /tmp
The ssh command sets up a tunnel from localhost:2222 to the remote machine 192.168.1.37 behind the net facing server remoteserver.com. The second command lets you copy it locally.
Some good examples and tips here, and how to configure it in ~/.ssh/config to automate it.
answered Jan 18 at 15:18
Steeve McCauleySteeve McCauley
1113
1113
add a comment |
add a comment |
If you're locally behind a router/firewall that is giving you a private IP address, you'll need to configure the router to NAT a port to map to your local port 22. You can then access it from the remote computer by addressing your public IP address on whatever port you choose (you can map port 22 directly, but I generally personally recommend avoiding this as standard server ports are common targets for malware trying to find a way in).
That won't be necessary.
– Ansgar Wiechers
Sep 21 '12 at 18:34
One other note: make sure that Remote Login is enabled via System Preferences if on a mac.
– UnixNewbie2012
Sep 21 '12 at 18:34
add a comment |
If you're locally behind a router/firewall that is giving you a private IP address, you'll need to configure the router to NAT a port to map to your local port 22. You can then access it from the remote computer by addressing your public IP address on whatever port you choose (you can map port 22 directly, but I generally personally recommend avoiding this as standard server ports are common targets for malware trying to find a way in).
That won't be necessary.
– Ansgar Wiechers
Sep 21 '12 at 18:34
One other note: make sure that Remote Login is enabled via System Preferences if on a mac.
– UnixNewbie2012
Sep 21 '12 at 18:34
add a comment |
If you're locally behind a router/firewall that is giving you a private IP address, you'll need to configure the router to NAT a port to map to your local port 22. You can then access it from the remote computer by addressing your public IP address on whatever port you choose (you can map port 22 directly, but I generally personally recommend avoiding this as standard server ports are common targets for malware trying to find a way in).
If you're locally behind a router/firewall that is giving you a private IP address, you'll need to configure the router to NAT a port to map to your local port 22. You can then access it from the remote computer by addressing your public IP address on whatever port you choose (you can map port 22 directly, but I generally personally recommend avoiding this as standard server ports are common targets for malware trying to find a way in).
answered Sep 21 '12 at 18:25
ND GeekND Geek
6581511
6581511
That won't be necessary.
– Ansgar Wiechers
Sep 21 '12 at 18:34
One other note: make sure that Remote Login is enabled via System Preferences if on a mac.
– UnixNewbie2012
Sep 21 '12 at 18:34
add a comment |
That won't be necessary.
– Ansgar Wiechers
Sep 21 '12 at 18:34
One other note: make sure that Remote Login is enabled via System Preferences if on a mac.
– UnixNewbie2012
Sep 21 '12 at 18:34
That won't be necessary.
– Ansgar Wiechers
Sep 21 '12 at 18:34
That won't be necessary.
– Ansgar Wiechers
Sep 21 '12 at 18:34
One other note: make sure that Remote Login is enabled via System Preferences if on a mac.
– UnixNewbie2012
Sep 21 '12 at 18:34
One other note: make sure that Remote Login is enabled via System Preferences if on a mac.
– UnixNewbie2012
Sep 21 '12 at 18:34
add a comment |
Thanks for contributing an answer to Super User!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f478028%2fhow-to-transfer-files-remote-to-local-using-ssh%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Is your local machine behind a firewall? Is there a particular reason you need to do this while remotely logged in?
– ND Geek
Sep 21 '12 at 18:02
I'm using su to access the files, so didn't think I could do this while not logged in.
– UnixNewbie2012
Sep 21 '12 at 18:04
Ah. Well, if you have read access to the files while not root, you should still be able to access them via scp from your local machine. If they're not readable by anyone that isn't root, then yeah, you'd need to run the copy as root.
– ND Geek
Sep 21 '12 at 18:06
Right. So I have to run the copy as root. Seems like SCP still works if I know the full path to my mac, right? How would I find this?
– UnixNewbie2012
Sep 21 '12 at 18:07
Well, that goes back to my first question, are you behind a firewall/router, or is your Mac publicly accessible (if you're at home, are you directly plugged into your modem?)?
– ND Geek
Sep 21 '12 at 18:08