scp를 사용할 때 원격 경로에 대한 자동 완성을 활성화하는 방법은 무엇입니까?

scp를 사용할 때 원격 경로에 대한 자동 완성을 활성화하는 방법은 무엇입니까?

다음 명령을 사용하여 파일을 랩톱에 원격으로 복사합니다.

scp someFile [email protected]:/home/USER/put/it/some/where/oh/damn/you/here

탭을 클릭하여 원격 경로를 자동 완성할 수 있기를 원합니다.

답변1

멋진 자동 완성 기능이 켜져 있는지 확인하세요. 많은 배포판에서 이는 ~/.bashrc.. /etc/bash_completion

를 사용하더라도 비밀번호 없는 인증을 설정해야 합니다 ssh-agent.

SSH 연결 설정은 속도가 느리므로 연결을 한 번 설정하고 나중에 사용하면 훨씬 더 빠르게 완료할 수 있습니다. 비교적 복잡한 방법은 ssh -N -M target-host마스터-슬레이브 연결을 설정한 후 마스터 SSH 연결을 여는 것 입니다 ~/.ssh/config.단일 명령으로 여러 SSH 세션지침(귀하의 필요 사항 ControlMasterControlPath옵션)을 얻으십시오.

쉬운 방법은 원격 파일 시스템을 다음 위치에 마운트하는 것입니다.SSHFScp그리고 일반적인 쉘 완성과 함께 사용됩니다.

mkdir ~/remote
sshfs [email protected]:/home/USER ~/remote
cp -p someFile ~/remote/put/it/some/where/oh/damn/you/here

답변2

내가 해야 할 일은 내 공개 키를 원격 시스템에 추가하는 것뿐입니다.

cat ~/.ssh/id_rsa.pub | ssh [email protected] "cat - >> ~/.ssh/authorized_keys"

이제 표 작성이 scp완료되었습니다.

먼저 키를 설정해야 하는 경우 여기를 확인하세요.

답변3

@Giles 처럼설명하다, 자동 완성이 올바르게 설정되어 있고 컴퓨터에 SSH 키가 있는지 확인하세요.

이 구성을 추가하면 속도 가 ~/.ssh/config크게 달라졌습니다 .

Host *
 ControlMaster auto
 ControlPath ~/.ssh/master-socket/%r@%h:%p
 ControlPersist 10s

이렇게 하면 호스트당 마스터 연결이 생성됩니다.

10초 동안 연결이 자동으로 종료되기 전에 디렉터리를 볼 수 있는 시간이 제공됩니다.

지속성이 없으면 연결을 다시 만들어야 하므로 탭 완료 속도가 느려집니다.

~$ scp mymachine:~/pa 상표

path/ palace/ pandas/ porn/

~$ scp mymachine:~/path/to 상표

~$ scp mymachine:~/path/to/file 상표

답변4

scp를 사용하는 대신 lftp로 전환할 수 있습니다. 이는 여러분이 찾고 있는 자동 완성 기능(예: 와일드카드)을 포함하여 ftp, sftp 및 ssh를 통한 파일 전송을 위한 훌륭하고 일관된 인터페이스를 제공합니다.

lftpfish://user@machine

위에서 scp로 했던 것처럼 ssh를 통해 연결을 엽니다. 많은 컴퓨터에서는 sftp://도 지원하는데, 내 경험으로는 이것이 더 좋습니다.

관련 정보