ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • IBM AIX SFTP계정 생성하는 방법
    System of Infra/Unix System 2021. 1. 25. 21:08
    반응형

    AIX로고이미지

    AIX SFTP계정 생성하는 방법

    [root@test_svr2:/]# smit user
    Add a User(선택)
    ...
    User NAME [sftpadm]
    User ID [999]
    ADMINISTRATIVE USER? false                                                     
    Primary GROUP [staff]                                                                  
    Group SET [staff]                                                                   
    ...(생략)                                                                  
    SU GROUPS [ALL]                                                                     
    HOME directory [/home/sftpadmin]

    -> 테스트를 하기 위한 user의 계정을 한 개 생성해주도록 합니다.(sftpadm이라는 이름으로 계정 생성)

    [root@test_svr2:/]# cat /etc/passwd | grep -i sftpadm
    sftpadm:*:999:1::/home/sftpadmin:/usr/bin/ksh

    -> /etc/passwd를 통해서 계정이 제대로 생성되어 있는지 확인합니다. 현재 홈 디렉터리는 /home/sftpadmin으로 설정되어 999번으로 생성이 된 것을 확인할 수 있습니다.

    [root@test_svr2:/]# su - sftpadm 
    
    [sftpadm@test_svr2:/home/sftpadmin]#ls -ltr
    drwxr-xr-x    2 sftpadm  staff           256 Jan 11 15:41 .
    drwxr-xr-x    6 bin      bin             256 Jan 11 15:40 ..
    -rwxr-----    1 sftpadm  staff           332 Jan 11 15:40 .profile
    -rw-------    1 sftpadm  staff            28 Jan 11 15:41 .sh_history

    -> 생성된 sfpadm의 계정으로 접속이 가능한지 확인하도록 합니다.

    [sftpadm@test_svr2:/home/sftpadmin]#passwd sftpadm
    Changing password for "sftpadm"

    -> 생성된 sftpadm의 계정의 패스워드를 생성합니다.

    [sftpadm@test_svr2:/home/sftpadmin]#ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/sftpadmin/.ssh/id_rsa):(ENTER)
    Created directory '/home/sftpadmin/.ssh'.
    Enter passphrase (empty for no passphrase):(ENTER)
    Enter same passphrase again:(ENTER) 
    Your identification has been saved in /home/sftpadmin/.ssh/id_rsa.
    Your public key has been saved in /home/sftpadmin/.ssh/id_rsa.pub.
    The key fingerprint is:(ENTER)
    cf:50:9a:a7:e4:33:14:28:aa:ec:91:4d:97:54:36:a3 sftpadm@test_svr2
    The key's randomart image is:(ENTER)
    +-----[ RSA 2048]---+
    |       =     	    |
    |      +.o    	    |
    |    .E. . .  	    |
    |   ....  =         |
    |  .. o  S .        |
    |..+ .  + *         |
    |.+ .    = o        |
    |. .      o         |
    | .            	    |
    +-------------------+
    

    -> ssh-keygen의 명령어를 통해서 RSA 공개키를 생성합니다. 각각의 질문지에서는 계속 ENTER 하게 되면 키가 생성됩니다.

    [sftpadm@test_svr2:/home/sftpadmin]#ls -al | grep -i .ssh
    drwx------    2 sftpadm  staff           256 Jan 11 15:45 .ssh
    
    [sftpadm@test_svr2:/home/sftpadmin]#cd .ssh
    
    [sftpadm@test_svr2:/home/sftpadmin/.ssh]#ls -al
    drwx------    2 sftpadm  staff           256 Jan 11 15:45 .
    drwxr-xr-x    3 sftpadm  staff           256 Jan 11 15:45 ..
    -rw-------    1 sftpadm  staff          1675 Jan 11 15:45 id_rsa
    -rw-r--r--    1 sftpadm  staff           399 Jan 11 15:45 id_rsa.pub

    ->. ssh 디렉터리 경로에서 id_rsa가 생성되어 있는지 확인합니다.(공개키)

    [sftpadm@test_svr2:/home/sftpadmin/.ssh]#cat id_rsa.pub 
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtp7QHO71SLDZza7FTfzlw0CRBEABMsqkoFEEvlrEmX7F+fuOi+JCtsCY5PVd0QAX8v2KmKeDGmIKFoGlyevpyUcSoznRZu+Y4piVAHi/f5OYVM255MTZaQRQLTMOoibSnyGMUupXaVsI9e4fo79mPVcSbjb1z/KIzjWG8JxIwyfDDbTDOOHV6tY+Wr2r45JNSyXcTysfPaeey7b8PURLpYLF4Gigb/rJyU3Qxr7XhFda7f6JvXlRB+TZPWmAilhQ1+DfR7ET7n0NNjHQRjwNENkO4Ux/ELr1j90ugqikT/T48o4EAinlHPglGALgc3PHJ/he+gDGQP8r47S8nO2cp sftpadm@test_svr2
    
    [sftpadm@test_svr2:/home/sftpadmin/.ssh]#cat id_rsa.pub >> authorized_keys
    
    [sftpadm@test_svr2:/home/sftpadmin/.ssh]#cat authorized_keys 
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtp7QHO71SLDZza7FTfzlw0CRBEABMsqkoFEEvlrEmX7F+fuOi+JCtsCY5PVd0QAX8v2KmKeDGmIKFoGlyevpyUcSoznRZu+Y4piVAHi/f5OYVM255MTZaQRQLTMOoibSnyGMUupXaVsI9e4fo79mPVcSbjb1z/KIzjWG8JxIwyfDDbTDOOHV6tY+Wr2r45JNSyXcTysfPaeey7b8PURLpYLF4Gigb/rJyU3Qxr7XhFda7f6JvXlRB+TZPWmAilhQ1+DfR7ET7n0NNjHQRjwNENkO4Ux/ELr1j90ugqikT/T48o4EAinlHPglGALgc3PHJ/he+gDGQP8r47S8nO2cp sftpadm@test_svr2

    ->test_svr2의 sftpadm계정의 id_rsa의 키를 authorized_keys로 복사한 뒤 서로 일치하는지 내용을 확인합니다.

    [root@test_svr1:/]# ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (//.ssh/id_rsa): 
    Created directory '//.ssh'.
    Enter passphrase (empty for no passphrase): 
    Enter same passphrase again: 
    Your identification has been saved in //.ssh/id_rsa.
    Your public key has been saved in //.ssh/id_rsa.pub.
    The key fingerprint is:
    26:0a:43:51:f8:e5:26:32:ee:e6:1b:f0:b8:40:6f:6f root@test_svr1
    The key's randomart image is:
    +-----[ RSA 2048]---+
    |       =     	    |
    |      +.o    	    |
    |    .E. . .  	    |
    |   ....  =         |
    |  .. o  S .        |
    |..+ .  + *         |
    |.+ .    = o        |
    |. .      o         |
    | .            	    |
    +-------------------+

    -> ssh-keygen의 명령어를 통해서 RSA 공개키를 생성합니다. 각각의 질문지에서는 계속 ENTER 하게 되면 키가 생성됩니다.

    [root@test_svr1:/]# cd .ssh
    
    [root@test_svr1:/.ssh]# ls -al
    total 24
    drwx------    2 root     system          256 Jan 11 15:50 .
    drwxr-xr-x   24 root     system         4096 Jan 11 15:50 ..
    -rw-------    1 root     system         1675 Jan 11 15:50 id_rsa
    -rw-r--r--    1 root     system          396 Jan 11 15:50 id_rsa.pub

    ->. ssh 디렉터리 경로에서 id_rsa가 생성되어 있는지 확인합니다.(공개키)

    [root@test_svr1:/.ssh]# cat authorized_keys
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHqTe0v32bD6j54NbirrR6ZsG/Mjs6z/5C2n1PmEC9oeyFHbNNTR8jkbuDu81ljN2gp7vao4GFDGrIoGlL6dMX++p5UFCn1XN2FINCepSoSM5uvvgGHGacWQAH2Kcb2b27y2NeIWgpitcWR1eQfKDxqPdUlsOFTSra0OSpEv9alSs4EZE5nGx+8ohb347gJ2wRCdlMF4c2NzP2JA8R3Qxx5zrn7nASFFXCc7n6Hou1udl/li00ijbUvNOxrynHd//1PHdoYrc0Q4C6E6GZPvYi4HLOlcTKun5w2jNhL600nXY840+tN3s5FmZ1QG0hDsWMaKzVSRENi3iyDlWCpxt9 root@test_svr1
    
    [root@test_svr1:/.ssh]# cat id_rsa.pub >> authorized_keys
    
    [root@test_svr1:/.ssh]# cat authorized_keys
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHqTe0v32bD6j54NbirrR6ZsG/Mjs6z/5C2n1PmEC9oeyFHbNNTR8jkbuDu81ljN2gp7vao4GFDGrIoGlL6dMX++p5UFCn1XN2FINCepSoSM5uvvgGHGacWQAH2Kcb2b27y2NeIWgpitcWR1eQfKDxqPdUlsOFTSra0OSpEv9alSs4EZE5nGx+8ohb347gJ2wRCdlMF4c2NzP2JA8R3Qxx5zrn7nASFFXCc7n6Hou1udl/li00ijbUvNOxrynHd//1PHdoYrc0Q4C6E6GZPvYi4HLOlcTKun5w2jNhL600nXY840+tN3s5FmZ1QG0hDsWMaKzVSRENi3iyDlWCpxt9 root@test_svr1

    ->test_svr1의 id_rsa의 키를 authorized_keys로 복사한 뒤 서로 일치하는지 내용을 확인합니다.

    [root@test_svr1:/.ssh]# vi authorized_keys
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHqTe0v32bD6j54NbirrR6ZsG/Mjs6z/5C2n1PmEC9oeyFHbNNTR8jkbuDu81ljN2gp7vao4GFDGrIoGlL6dMX++p5UFCn1XN2FINCepSoSM5uvvgGHGacWQAH2Kcb2b27y2NeIWgpitcWR1eQfKDxqPdUlsOFTSra0OSpEv9alSs4EZE5nGx+8ohb347gJ2wRCdlMF4c2NzP2JA8R3Qxx5zrn7nASFFXCc7n6Hou1udl/li00ijbUvNOxrynHd//1PHdoYrc0Q4C6E6GZPvYi4HLOlcTKun5w2jNhL600nXY840+tN3s5FmZ1QG0hDsWMaKzVSRENi3iyDlWCpxt9 root@test_svr1
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtp7QHO71SLDZza7FTfzlw0CRBEABMsqkoFEEvlrEmX7F+fuOi+JCtsCY5PVd0QAX8v2KmKeDGmIKFoGlyevpyUcSoznRZu+Y4piVAHi/f5OYVM255MTZaQRQLTMOoibSnyGMUupXaVsI9e4fo79mPVcSbjb1z/KIzjWG8JxIwyfDDbTDOOHV6tY+Wr2r45JNSyXcTysfPaeey7b8PURLpYLF4Gigb/rJyU3Qxr7XhFda7f6JvXlRB+TZPWmAilhQ1+DfR7ET7n0NNjHQRjwNENkO4Ux/ELr1j90ugqikT/T48o4EAinlHPglGALgc3PHJ/he+gDGQP8r47S8nO2cp sftpadm@test_svr2
    
    [sftpadm@test_svr2:/home/sftpadmin/.ssh]#vi authorized_keys
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCtp7QHO71SLDZza7FTfzlw0CRBEABMsqkoFEEvlrEmX7F+fuOi+JCtsCY5PVd0QAX8v2KmKeDGmIKFoGlyevpyUcSoznRZu+Y4piVAHi/f5OYVM255MTZaQRQLTMOoibSnyGMUupXaVsI9e4fo79mPVcSbjb1z/KIzjWG8JxIwyfDDbTDOOHV6tY+Wr2r45JNSyXcTysfPaeey7b8PURLpYLF4Gigb/rJyU3Qxr7XhFda7f6JvXlRB+TZPWmAilhQ1+DfR7ET7n0NNjHQRjwNENkO4Ux/ELr1j90ugqikT/T48o4EAinlHPglGALgc3PHJ/he+gDGQP8r47S8nO2cp sftpadm@test_svr2
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHqTe0v32bD6j54NbirrR6ZsG/Mjs6z/5C2n1PmEC9oeyFHbNNTR8jkbuDu81ljN2gp7vao4GFDGrIoGlL6dMX++p5UFCn1XN2FINCepSoSM5uvvgGHGacWQAH2Kcb2b27y2NeIWgpitcWR1eQfKDxqPdUlsOFTSra0OSpEv9alSs4EZE5nGx+8ohb347gJ2wRCdlMF4c2NzP2JA8R3Qxx5zrn7nASFFXCc7n6Hou1udl/li00ijbUvNOxrynHd//1PHdoYrc0Q4C6E6GZPvYi4HLOlcTKun5w2jNhL600nXY840+tN3s5FmZ1QG0hDsWMaKzVSRENi3iyDlWCpxt9 root@test_svr1

    -> 각각의 호스트에 서로의 공개키를 붙여 넣기 해줍니다. test_svr1에는 test_svr2의 sftpadm 계정의 authorized_keys의 공개키를 넣어주고 test_svr2의 sftpadm 계정에는 test_svr1의 authorized_keys의 공개키를 넣어주도록 합니다.

    [root@test_svr1:/.ssh]# stopsrc -s sshd; startsrc -s sshd
    0513-044 The sshd Subsystem was requested to stop.
    0513-059 The sshd Subsystem has been started. Subsystem PID is 2621894.
    
    [root@test_svr2:/]# stopsrc -s sshd; startsrc -s sshd
    0513-044 The sshd Subsystem was requested to stop.
    0513-059 The sshd Subsystem has been started. Subsystem PID is 7078124.

    -> 공개키를 서로 교환을 했기 때문에 각각의 호스트의 sshd 데몬을 재기동해주도록 합니다.

    [root@test_svr2:/]# su - sftpadm
    sftpadm's Password: 
    
    [sftpadm@test_svr2:/home/sftpadmin]#ssh 10.50.1.152
    Last login: Mon Jan 11 16:04:46 KST 2021 on /dev/pts/3 from test_svr1
    ******************************************************************************
    *                                                                            *
    *                                                                            *
    *  Welcome to AIX Version 7.1!                                               *
    *                                                                            *
    *                                                                            *
    *  Please see the README file in /usr/lpp/bos for information pertinent to   *
    *  this release of the AIX Operating System.                                 *
    *                                                                            *							       											
    *                                                                            *
    ******************************************************************************
    [sftpadm@test_svr2:/home/sftpadmin]#

    -> ssh 접속을 통해서 자기 자신의 공개키도 공유를 하고 있기 때문에 패스워드를 묻지 않고 접속이 가능한 것을 확인할 수 있습니다.

    [root@test_svr1:/]# ssh sftpadm@10.50.1.152
    Last login: Fri Jan 22 23:53:15 KST 2021 on /dev/pts/2
    ******************************************************************************
    *                                                                            *
    *                                                                            *
    *  Welcome to AIX Version 7.1!                                               *
    *                                                                            *
    *                                                                            *
    *  Please see the README file in /usr/lpp/bos for information pertinent to   *
    *  this release of the AIX Operating System.                                 *
    *                                                                            *							       											
    *                                                                            *
    ******************************************************************************
    [root@test_svr1:/]#

    -> ssh 접속을 통해서 서로 공개키를 공유한 test_svr1의 호스트 또한 패스워드 없이 접속이 되는 것을 확인할 수 있습니다.

    [root@test_svr2:/]#vi /etc/passwd
    root:!:0:0::/:/usr/bin/ksh
    daemon:!:1:1::/etc:
    bin:!:2:2::/bin:
    sys:!:3:3::/usr/sys:
    adm:!:4:4::/var/adm:
    uucp:!:5:5::/usr/lib/uucp:
    guest:!:100:100::/home/guest:
    nobody:!:4294967294:4294967294::/:
    lpd:!:9:4294967294::/:
    ...(생략)
    pconsole:*:8:0::/var/adm/pconsole:/usr/bin/ksh
    srvproxy:*:202:0:Service Proxy Daemon:/home/srvproxy:/usr/bin/ksh
    esaadmin:*:10:0::/var/esa:/usr/bin/ksh
    sshd:*:203:201::/var/empty:/usr/bin/ksh
    sftpadm:!:999:1::/home/sftpadmin:/usr/bin/ksh -> sftpadm:!:999:1::/home/sftpadmin:/bin/false

    -> / etc/passwd의 경로에서 sftpadm으로 생성한 계정을 위와 같이 변경해줍니다.

    [root@test_svr2:/]# chown root:staff /home/sftpadmin  
    [root@test_svr2:/]# chmod 775 /home/sftpadmin

    -> 추후 sftpadmin의 상위 디렉터리 접근 불가에 대한 포스트 글을 남기기 위해서 사전에 root 오너쉽과 권한을 변경해줍니다.

    [root@test_svr1:/]# ssh sftpadm@10.50.1.152
    sftpadm@10.50.1.152's password: 
    Connection to 10.50.1.152 closed by remote host.
    Connection to 10.50.1.152 closed.

    -> /etc/passwd 경로에서 /usr/bin/ksh를 false로 변경해주었기 때문에 더 이상 ssh 콘솔 기반으로 접속이 불가능한 것을 확인할 수 있습니다.

    [root@test_svr1:/]# sftp sftpadm@10.50.1.152
    Connected to 10.50.1.152.
    sftp> pwd
    Remote working directory: /home/sftpadmin

    -> sftp프로토콜을 통해서 접속을 하게 되면 test_svr1 호스트와 공개키를 서로 교환했기 때문에 패스워드를 묻지 않고 접속이 됩니다. 그리고 ssh접속은 /ksh의 정책을 false로 변경했기 때문에 sftp의 프로토콜을 사용해서만 사용할 수 있는 계정이 되었습니다.

     

    PS. 포스팅의 내용은 제 기준으로 작성한 것이기 때문에 참고해서 보시면 감사하겠습니다.

    포스팅 과정의 오류 및 오타 그리고 궁금한 점에 대해서는 댓글 남겨주세요.

    반응형

    댓글

Designed by Tistory.