상세 컨텐츠

본문 제목

2020.12.15 sftp does not have password(암호없이 sftp 사용)

보안/unix(유닉스)

by MustThanks 2020. 12. 15. 16:01

본문

반응형

===============================

step one 

#PK 인증키 생성
ssh-keygetn -t rsa  

id_rsa.pub 파일의 내용은 원격접속을 하고자 하는 서버의 계정 홈 디렉토리에 authorized_keys 파일에 등록을 해야함
키생성 서버계정 홈 디렉토리에 .ssh 디렉토리가 생성 되면서 그 하위에 id_rsa.pub 생성

==============================
step two

/user/user_home/.ssh/known_hosts 에 원격서버의 정보가 없으면  Verfication error 발생
원격서버의 접속에 대한 정보가 변겨되면 known_hosts 파일에서 원격서버 정보를 제거한뒤 다시 접속하는 것이 좋음

자동화 스크립트를 만들기 전에 항상 수동으로 제대로 접속이 되는지 확인을 해보는 것이 중요

================================

step three

ssh key를 이용하여 접속하는 방식

 
###################sample.sftp###################################
sftp -oPort=port   usrId@remotorServerIp<< sftpScriptEOF

#로컬서버의 디렉토리를 변경
lcd  /usr/repostory

#원격 서버의 디렉토리를 변경
cd  /remotor/Server

#파일 가지고 오기
get recvFileName

#파일을 원격서버에 전송하기
put sendFileName

bye

#sftp 종료
quit or exit

#unix 명령어 사용
cp  /디렉토리/ *  /target/


sftpScriptEOF

======================
#############################################################

sftp 접속시 오류 메세지 참고 자료
아래의 URL에서 데이터를 발취
https://sodocumentation.net/ko/ssh/topic/2926/ssh-%EB%AC%B8%EC%A0%9C-%EB%94%94%EB%B2%84%EA%B9%85

* 연결 시간이 초과되었습니다
  - 원격 시스템이 클라이언트의 TCP / IP 연결 열기 시도에 응답하지 않으면 "연결 시간 초과"오류가 발생합니다. 
       가장 일반적인 원인은 다음과 같습니다.
         = 방화벽이 사용중인 포트에서 연결 시도를 차단하고 있습니다 :
         = 방화벽은 아웃 바운드 연결을 차단하거나 서버 쪽에서 인바운드 연결을 차단하거나 경로의 다른 곳에서 차단하는 등 클라이언트 측에있을 수 있습니다.
         = 루트 문제는 잘못된 포트 번호를 사용하고있는 것일 수 있습니다.
         = 연결하려는 호스트가 오프라인 일 수 있습니다.
         = 클라이언트와 서버 간의 네트워크 일부가 다운되거나 중단 될 수 있습니다.
         = 네트워크 라우팅 문제가있을 수 있습니다.
         = 연결 시간 제한의 근본 원인을 진단하는 것은 어렵습니다.

* ssh_exchange_identification : 읽기 : 피어에 의한 연결 재설정
 - 이 오류 메시지는 OpenSSH ssh 클라이언트에서 생성 될 수 있습니다. 
   이는 클라이언트와 서버 간의 TCP 연결이 승인 된 직후 서버에 의해 비정상적으로 닫혔다는 것을 의미합니다. 
     이 메시지의 일반적인 이유는 다음과 같습니다.
        = SSH 서버 프로세스가 오작동하고 있습니다 (예 : 충돌).
        = 클라이언트와 서버 사이의 방화벽, 라우터 또는 다른 네트워크 장치가 SSH 연결을 방해합니다.
        = 오류 메시지의 문구는 구체적으로 어떤 일이 일어 났는지 나타냅니다.

         ssh_exchange_identification : 
                  1. SSH 클라이언트가 SSH 서버에 연결 한 후, SSH 프로토콜 시작의 첫 번째 단계는 서버가 소프트웨어 버전을 클라이언트에 전송하는 것입니다. 
                  "ssh_exchange_identification"이 포함 된 오류는 클라이언트가 서버의 소프트웨어 버전을 기다리는 동안 TCP 연결을 만든 후 
                   즉시 오류가 발생했음을 나타냅니다.

                   연결 재설정 : 연결 재설정은 TCP 연결이 "비정상적으로 종료되었습니다"를 의미합니다. 
                   TCP 연결 중 하나를 수행하는 소프트웨어 프로세스가 손상되면이 문제가 발생할 수 있습니다. 
                   TCP 연결을 차단하는 수단으로 연결 재설정을 사용하도록 네트워크 방화벽을 구성 할 수 있습니다.

                   by peer 는 TCP 연결이 연결의 "상대방"에서 종료되었음을 의미합니다. 
                   이 경우 "상대방"은 원격 SSH 서버입니다.

                   이 오류는 어떤 종류의 인증 실패도 나타내지 않습니다. 
                   서버는 TCP 연결을 수락 한 후 바로 닫았습니다. 
                   클라이언트와 서버는 아직 데이터를 전혀 교환하지 않았습니다. 
                   서버가 아직 클라이언트에 호스트 키를 보내지 않았으며 클라이언트가 아직 서버 인증을 시도하지 않았습니다.

       ssh_exchange_identification : 원격 호스트에 의해 닫힌 연결
                   이 오류 메시지는 OpenSSH ssh 클라이언트에서 생성 될 수 있습니다. 
                   이는 클라이언트와 서버 간의 TCP 연결이 승인 된 직후 서버에 의해 닫혔다는 것을 의미합니다. 
                   이 메시지는 일반적으로 SSH 서버가 어떤 이유로 클라이언트의 연결을 수락하지 않도록 구성되었음을 나타냅니다.

                   클라이언트의 IP 주소에서 연결을 거부하도록 서버를 구성 할 수 있습니다.
                   서버는 활성 SSH 연결 수에 대한 제한으로 구성 될 수 있습니다.
                   클라이언트가 SSH 서버가 아닌 다른 서버에 연결되었을 수 있습니다.
                  오류 메시지의 문구는 구체적으로 어떤 일이 일어 났는지 나타냅니다.

     
        Connection closed : TCP 연결이 정상적으로 종료되었음을 의미합니다. 
                 이는 SSH 서버가 의도적으로 연결을 종료했음을 나타냅니다. 
                 이것은 "연결 재설정"과는 달리 SSH 서버가 손상되었거나 고장 났음을 나타낼 수 있습니다.
                 원격 호스트 가 TCP 연결이 연결의 "다른 끝"에서 종료되었음을 의미합니다. 
                 이 경우 "상대방"은 원격 SSH 서버입니다.

관련글 더보기

댓글 영역