<ssh 인증 키를 이용한 접속>
<유저생성> [root@jo:~]#cat /etc/passwd |grep kkk [root@jo:~]#useradd -c "SSH User" kkk [root@jo:~]#passwd kkk Changing password for user kkk. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@jo:~]# [root@jo:~]# |
--
--> Xshell의 xftp클라이언트로 접속하여 그 계정 홈디렉토리에 아까 만든 키를 저장할 디렉토리인
/home/kkk/.ssh/ 에 키를 넣어준다.
[root@jo:~]#vi /etc/ssh/sshd_config 44 PubkeyAuthentication yes 45 AuthorizedKeysFile .ssh/authorized_keys --> 사용자 키는 여러 개이기 때문에 아까 만든 이 숨김 디렉토리에 키를 저장 관리가 쉽도록 키 이름은 authorized_keys로 바꿀 것이다. |
--
[root@jo:~]#su - kkk [kkk@jo:~]$pwd /home/kkk
[kkk@jo:~]$mkdir .ssh [kkk@jo:~]$chmod 700 .ssh [kkk@jo:~]$cd .ssh/ [kkk@jo:~/.ssh]$pwd /home/kkk/.ssh
[kkk@jo:~/.ssh]$cat kkk_rsa_1024.pub >> authorized_keys [kkk@jo:~/.ssh]$chmod 600 authorized_keys [kkk@jo:~/.ssh]$rm kkk_rsa_1024.pub rm: remove write-protected regular file `kkk_rsa_1024.pub'? y [kkk@jo:~/.ssh]$exit
[root@jo:~]#service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]
59 PermitEmptyPasswords no 60 PasswordAuthentication no
[root@jo:~]#service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ] |
--
--> 접속해본다.
--> 키를 선택하고 패스워드를 입력한다.
--> 접속된다.
--> 이제는 키 값이 없으면 접속을 못한다.
*지금은 하드디스크에 키가 저장되어있다.
*이렇게 하면 안되고 xhell에 사용자 키 관리에서 키 내보내기를 클릭하여
*다른 저장매체에 넣을 수 있다.
*사용자가 요청하면 매일로 보내준다.
*개인키는 xshell에서 저렇게 만들었는데 서버에서 만들어서 보내줄 수도 있다.
[root@jo:~]#tail -f /var/log/secure ]Oct 28 12:49:34 jo sshd[7038]: Accepted password for kkk from 192.168.10.26 port 1982 ssh2 Oct 28 12:49:34 jo sshd[7038]: pam_unix(sshd:session): session opened for user kkk by (uid=0) Oct 28 12:49:48 jo sshd[7027]: Received signal 15; terminating. Oct 28 12:49:48 jo sshd[7124]: Server listening on :: port 22. Oct 28 12:49:48 jo sshd[7124]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use. Oct 28 12:49:49 jo sshd[7040]: Received disconnect from 192.168.10.26: 0: Oct 28 12:49:49 jo sshd[7038]: pam_unix(sshd:session): session closed for user kkk Oct 28 12:49:58 jo sshd[7135]: Accepted publickey for kkk from 192.168.10.26 port 1983 ssh2 Oct 28 12:49:58 jo sshd[7135]: pam_unix(sshd:session): session opened for user kkk by (uid=0) Oct 28 13:01:26 jo su: pam_unix(su-l:session): session opened for user root by kkk(uid=504) --> ssh 에 관련된 로그를 볼 수 있다. |
--
*이거를 쓰면 좋은 이유는 bruite force 공격에 대비할 수 있다.
*단순히 패스워드를 쓰면 언젠가 뚫릴 수 있다.
*하지만 이렇게 인증 키를 이용하면 알고리즘까지 다 돌려봐야 되기 때문에 bruite force
*공격에 크랙될 가능성은 현저히 떨어진다.