나는 종종 작업을 위해 클러스터 노드에 SSH를 만들고 처리 후 분석을 위해 여러 결과를 로컬 컴퓨터로 다시 가져오고 싶습니다. 일반적 으로이 작업을 수행하려면 로컬 셸을 사용하여 서버에서 scp를 사용하지만 많은 경로 조작이 필요합니다. 대화 형 FTP와 같은 구문을 사용하고 서버에서 로컬 pwd로 파일을 ‘풀’하고 싶습니다.
또 다른 가능한 해결책은 클라이언트 컴퓨터를 ssh 별칭으로 자동 설정하여 다음과 같은 방법을 사용하는 것입니다.
scp results home:~/results
예상대로 작동합니다.
나를 위해 이것을 할 모호한 SSH 트릭이 있습니까?
grawity 의 대답 에서 작업하면 구성 파일의 완벽한 솔루션은 다음과 같습니다.
로컬 .ssh / config :
Host ex
HostName ssh.example.com
RemoteForward 10101 localhost:22
ssh.example.com .ssh / config :
Host home
HostName localhost
Port 10101
정확히 같은 명령을 수행 할 수 있습니다
scp results home:
파일 결과를 내 가정용 컴퓨터로 전송합니다.
답변
대화 형 FTP와 같은 구문을 사용하고 서버에서 로컬 pwd로 파일을 ‘풀’하고 싶습니다.
사용하십시오 sftp
.
(힌트 :하거나 새 창을 열하지 않을 수없는 경우, 당신은 눌러 SSH 연결을 일시 중단 할 수 있습니다 Enter, ~, CtrlZ, 파일을 전송하고 함께 SSH 재개를 fg
.)
또 다른 가능한 해결책은 클라이언트 컴퓨터를 ssh 별칭으로 자동 설정하는 방법을 사용하는 것입니다
몇 가지 방법이 있습니다.
-
정적 별칭
ssh
과는scp
– 당신이 추가~/.ssh/config
:Host home # If you don't have a domain name, check out DynDNS... # ...or just use your IP address. Hostname homepc.somedomain.tld # If necessary, uncomment: #User john #Port 1234
사용하다:
scp foo home:
(이후에 경로를 제공하지 않으면
:
파일이 홈 디렉토리로 이동합니다.) -
SSH_CLIENT
환경 변수를 사용하십시오 .export client=${SSH_CLIENT%% *} if [[ $client == *:* ]]; then client="[$client]" fi
에 그 넣어
~/.profile
하거나~/.bash_profile
또는 원하는 목적지 후 사용$client
당신이 당신의 자신의 주소를 필요로 할 때.scp foo "$client:"
-
둘 다 섞는다.
~/.ssh/config
:Host client ProxyCommand ~/bin/reverse-connect %p
~/bin/reverse-connect
:#!/bin/sh if [[ $SSH_CLIENT ]]; then client=${SSH_CLIENT%% *} else echo "I don't know your address." >&2 exit 1 fi if [[ $client == *:* ]]; then client="[$client]" fi port=${1:-22} exec socat - "tcp:$client:$port"
사용하다:
scp foo client:
답변
sshfs를 사용해 보셨습니까? 쉽게
> sshfs hostname: mountpoint
과
fusermount -u mountpoint
그런 다음 모든 클래식 및 기본 파일 조작 명령을 사용할 수 있습니다.
http://en.wikipedia.org/wiki/SSHFS
http://fuse.sourceforge.net/sshfs.html
답변
scp
로컬 호스트에서 사용할 수 있습니다 . 와 같은 명령을 사용하십시오 scp server:file .
.
다른 옵션은 다음 sftp
과 sshfs
같은 이미 지적했다.
이 모든 것에는 승인 된 키를 사용합니다. 키를 암호로 보호하는 것이 더 안전합니다. 필요에 따라 ssh-agent를 사용하여 ssh에 키를 제공합니다. ssh-add 명령은 키 암호를 입력하라는 메시지를 표시하고 키를 ssh-agent에로드합니다.