흥미로운 안전한 복사 동작

흥미로운 안전한 복사 동작

이 질문을 어디에 물어야 할지 잘 모르겠으니 이곳이 적절하지 않은 경우 알려주시면 옮기도록 하겠습니다.

오늘 저는 재귀 scp를 사용하여 두 Linux 서버 간에 디렉토리를 복사하려고 하다가 대상 서버를 참조할 때 오타를 범했습니다. 디렉토리를 다른 시스템으로 전송하는 대신 파일을 다시 자신에게 전송하기 시작합니다. 디렉토리가 너무 커서 그것이 무엇을 하고 있는지 알아차리는 데 시간이 좀 걸렸지만, 그것을 죽일 때까지 전송 상태에서 동일한 파일이 계속해서 나타나는 것을 보기 시작했습니다. 이것이 허용되는지 혼란스럽습니다. 몇 가지 질문이 있습니다.

제가 모든 사람에게 묻고 싶은 주요 질문은 사용자가 동일한 컴퓨터에서 스스로 보안 복사본을 만들어야 하는 상황이 있습니까, 아니면 이것이 scp를 무시하는 불필요한 부작용입니까?입니다.

편집 - 죄송합니다. 실제 명령은 다음과 같습니다.

scp -r /path/to/dir SameUser@sameserver:/path/to/dir

답변1

동일한 컴퓨터에 파일을 복사하는 경우에는 scp전혀 필요하지 않습니다. 어쨌든, 호스트 이름과 경로 대신 디렉터리나 파일을 대상으로 지정하면 로컬로 복사되는데, 이것이 일어나는 것 같습니다. 사용하는 명령줄을 제공하면 정확히 무슨 일이 일어나고 있는지 알려줄 수 있습니다.

편집하다: 네트워크 인터페이스를 통해 로컬 컴퓨터의 SSHD 서버에 연결한 다음 복제하는 데 사용되는 제공된 명령줄을 사용합니다. 를 사용할 수 있기 때문에 타당한 이유가 없습니다 cp.

답변2

이는 거의 유용하지 않은 특별한 경우입니다. 그러나 이를 탐지하는 것은 어렵고 해로우며 쓸모가 없습니다.

어렵습니다. 같은 컴퓨터에 같은 사용자가 있는지 어떻게 알 수 있나요? ssh $USER@localhost동일한 계정에 연락조차 되지 않고 scp프로그램이 항상 알 수 없는 드문 경우가 많이 있습니다 . 예를 들어:

  • localhostssh_config틀에 얽매이지 않지만 합법적인 DNS 또는 별칭으로 인해 로컬 컴퓨터를 가리키지 않습니다.
  • sshchroot 내부에서 호출되었지만 ssh 서버가 chroot 외부 또는 다른 chroot에서 실행 중입니다.
  • 로컬 컴퓨터의 SSH 포트는 다른 컴퓨터에 대한 연결을 반환합니다.
  • scp원격 사이트의 제한된 권한 세션에서 호출되면 scp $USER@localhost사용자의 기본 권한은 변경되지 않습니다.

scp많은 사람들의 행동을 복잡하게 만들기 때문에 해롭습니다. 더 이상 "파일을 복사하고 SSH를 전송으로 사용"이 아닙니다. "파일을 복사하고 원본과 대상이 동일한 시스템에서 동일한 사용자로 감지되지 않는 한 SSH를 전송으로 사용합니다."입니다. 메스꺼움. 그런 다음 누군가 scp를 사용하는 스크립트를 작성하고 시스템 이름과 사용자 이름을 매개변수로 사용하는 경우 스크립트에는 특별한 경우가 포함되어야 합니다. 즉, 소스와 대상이 동일한 시스템에서 동일한 계정인 경우 cpinstea를 호출해야 합니다 scp. 각본가는 scp완전히 논리적이어야 합니다.

가능한 많은 철자 오류 중 하나만 찾을 수 있기 때문에 쓸모가 없습니다. 왜 귀찮게? 다른 서버의 이름을 입력했거나 경로나 사용자 이름을 잘못 입력했을 수 있습니다.

관련 정보