내 SSH 구성 파일에 SCP 또는 SFTP를 사용하시나요?

내 SSH 구성 파일에 SCP 또는 SFTP를 사용하시나요?

SSH 구성 파일을 사용하여 SFTP 또는 SCP를 사용하여 터미널을 통해 원격 서버에 MySQL 덤프 파일을 연결하고 업로드하고 싶습니다. 내가 찾은 문서에 따르면 다음과 같이 할 수 있습니다.

sftp -F db.sql.gz [email protected] /tmp

또한 내 구성에서 별칭을 사용해 보았습니다.

sftp -F db.sql.gz myalias /tmp

위의 두 가지 작업을 수행하면 가능한 명령 중 하나가 인쇄되어 출력됩니다 -F.

로컬 구성의 바로가기를 사용하여 SSH를 통해 이미 연결할 수 있으므로 제대로 작동한다는 것을 알 수 있습니다.

ssh myalias

메모: 개인/공개 키 쌍을 사용하여 연결하므로 비밀번호를 입력할 필요가 없습니다. 키 쌍에는 이와 관련된 암호 문구가 있지만 OS X 키체인은 처음 연결했을 때 이를 기억했습니다.

그래서 내가 뭘 잘못하고 있는지 잘 모르겠나요?

답변1

  1. 도움말 텍스트에서: " ... [-F ssh_config] ..."

    위에 따르면 -FOpenSSH 구성 파일에 대한 경로 ~/.ssh/config또는 이와 유사한 하나의 인수가 필요합니다. 하지만 대신 gzip으로 압축된 SQL 덤프를 제공하고 있습니다.

    plain은 ssh myalias이미 작동하고 있으므로 여기서는 옵션이 필요하지 않습니다 -F. 그냥 sftp myalias서버에 연결하면 됩니다.

  2. 그러나 OpenSSH sftp클라이언트는 사용자가 시도하는 파일 업로드를 지원하지 않습니다. 파일을 다운로드하거나(구문 사용 host:path) 대화형 모드에서만 작동할 수 있습니다. 업로드하려면 대화형 모드를 사용해야 합니다.

    $ sftp myalias
    sftp> cd /tmp
    sftp> put db.sql.gz
    

    ...또는 scp도구:

    scp db.sql.gz myalias:/tmp
    

    또는

    scp db.sql.gz [email protected]:/tmp
    

(sftp에는 를 사용하여 파일에서 명령을 읽을 수 있는 배치 모드가 있지만 단일 업로드에 -b사용하는 것이 더 간단합니다 scp.)

다른 SFTP 클라이언트도 있습니다 –lftp대화식 사용에는 좋지만곱슬 곱슬하다자동화하기가 더 쉬울 수 있습니다. 백업 등의 경우 다음을 사용할 수도 있습니다.재동기화(자체 프로토콜을 실행하지만 여전히 SSH 내부에 있음)

답변2

ForwardAgent 구성으로 인해 발생하는 문제는 아래와 같습니다.

Host dockervm
   HostName x.x.x.x
   User root
   Preferredauthentications publickey
   ForwardAgent yes

내 경우에는 SSH 구성의 'ForwardAgent'로 인해 scp가 중단되었습니다. 일단 주석을 달면 나를 위해 일했습니다.

또한 ForwardAgent 줄에 주석이 달린 파일 복사본을 갖고 scp -F를 사용하여 작동하게 할 수도 있습니다.

관련 정보