ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [리눅스] SSH(Secure Shell)
    서버/리눅스 2017. 4. 27. 19:45

    SSH (Secure Shell) 

    port : 22

    데이터 전송시 평문을 암호화해서 전송한다.

    모든 암호설정 및 방화벽이 설정되어있기에 설치후 설정을 안건들여도 문제되지 않는다.

    (telnet은 데이터전송시 평문그대로 보내기에 위험하다)


    관련 모듈

    server

    openssh-server.x86_64

    client


    Server-설정파일( /etc/ssh/sshd_config )

    #>vi /etc/ssh/sshd_config

    17 #Port 22                    

    19 #ListenAddress 0.0.0.0  

    23 #Protocol 2           

    43 SyslogFacility AUTHPRIV     

    49 #PermitRootLogin yes   

    52 #MaxSessions 10 

    59 AuthorizedKeysFile .ssh/authorized_keys 


    17 #Port 22            기본으로 제공되는 포트 22 ( default값으로 변경가능 )

    >> 포트를 바꾸면 클라이언트는 -p 옵션을 이용해 접속해야 한다.

    19 #ListenAddress 0.0.0.0 #ipv6를 위한서비스


    23 #Protocol 2  : ver2로만 접속한다. 암호화 방식이 다르다.

    version 1 Hybrid-Cryptography

    version 2 Diffie-Hellman


    43 SyslogFacility AUTHPRIV

    AUTH 사용자 인증에 관련한 메세지

    AUTHPRIV 사용자 인증 절차에 관련한 메세지


    49 #PermitRootLogin yes   : root사용자 로그인 설정 ( default값으로 변경가능 )


    51 #MaxAuthTries 6         : 접속당 최대 인증 시도 횟수 ( 반이 넘어가면 log가 기록되기 시작한다. )

     

    52 #MaxSessions 10         : 세션갯수 ( SSH 접속가능한 갯수 설정 )


    59 AuthorizedKeysFile  ss/authorized_keys : 공개키, 비밀키에 대한파일



    client 접속 ( openssh-clients.x86_64 )

    window

    shell program

    putty

    리눅스

       #>yum install -y openshh-client.x86_64


    SSH가 기본으로 깔려있길레 그냥 접속한다.

    #>ssh <user>@<server_ip>

    Are you sure you want to countinue connecting ( y/n )? yes     #이질의는 다음로그인에 증명하게 허락해달라.

         pwd ? 

     .......서버 통신.....

    위와같이 서버로 접속하면 서버의 ip대역이 뜬다.

     

    #SSH 역할

    scp ( secure copy )

    원격연결 > 서버데이터를 복사 > 클라이언트에 붙여넣기 > 연결까지 해제 역할
    #>scp <src_path> <dst_path>

    #>scp admin01@100.100.100.128:/home/admin01/file1 /root/file.cp

    src : <user>@<server_ip>:path

    dst : (client) Path

    이떄 admin01은 계정이므로 파일과 디렉터리들의 권한이 로그인하려는 사용자에 부여되어 있어야한다.

    반대로 쓰면 클라이언트 파일을 서버에 복사하는 것도 가능하다.

     

    sftp( sercure ftp )

    ftp서비스가 아닌 파일 암호화 전송 프로토콜이다. ( ssh기반이므로 22번 포트이다. )
    #>sftp <user_name>@<server_ip>

    #>sftpd admin01@100.100.100.130

    사용은 ftp와 비슷하게 할 수 있으며 다른점은 22번포트(ssh)로 동작하며 보안설정이 되어있다는 접이다.

    요즘 나오는 ftp클라이언트 서비스는 sftp-server접속서비스를 제공한다. 

     

    Key

    명령어를 사용하면 public, private key 두 개가 만들어진다.

    - puublic key ( 공개키 ) : 웹브라우저 자동로그인 같은거

     

    - private Key ( 비밀키 ) : 내가 가지고있는 비교할 키

     

    client#>ssh-keygen

     

    [RSA] 암호와 인증 방식으로

    첫번째 enter : default path로 key값을 저장하겠다.

    2,3번째 enter : 암호인증을 하나 더 추가한다.

    /root/디렉터리에 .ssh 디렉터리 생성

    id_rsa : private key file

    id_rsa.pub : public key file 

     

    #키배포  >

    client : root > server : admin01 ( 키등록 ) 효과 : 패스워드 인증없이 로그인 가능

    생성된 id_rsa.pub file을 server의 사용자 홈디렉터리로 이동한다.

     

    #키등록

    서버가 등록( /etc/ssh/sshd_config 디렉터리 )의 옵션 59번쨰에 보이는 파일에 등록시켜야 한다.

    #>vi /etc/ssh/sshd_config

    59 AuthorizedKeysFile .ssh/authorized_keys 

     

    #>su admin01

    admin01$>touch ~/.ssh

    admin01$>touch ~/.ssh/authorized_keys

    admin01$>cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

    admin01$>chmod 700 ~/.ssh

    admin01$>chmod 600 ~/.ssh/authorized_keys

     공개키는 여러개 등록시킬수 있기때문에 이어쓰기 작성한다.

     또한 디렉터리와 파일에 대해 권한을 설정해주어야 한다. 

    이러한 권한설정이 귀찮다면 /.ssh를 만들고 상속권한을 주면 되는데 나는 그게 더 귀찮을 것같다 ..

     

    authorized_keys path의 경로가 바꼇을 경우 옵션 -i 를 사용해서 private key path 설정.

     VNC service ( 그래픽 환경을 가지고 접속을 할 수 있다)

     


    '서버 > 리눅스' 카테고리의 다른 글

    [리눅스] DNS설정 후 웹서버  (0) 2017.05.02
    [리눅스] DNS  (0) 2017.04.28
    [리눅스] Telnet  (0) 2017.04.26
    [리눅스] xinetd ( 서비스관리 데몬 )  (0) 2017.04.26
    [리눅스] FTP보안설정  (0) 2017.04.25

    댓글

Designed by Tistory.