계정 비밀번호를 잠그고 대신 RSA 키를 사용하세요.

계정 비밀번호를 잠그고 대신 RSA 키를 사용하세요.

클라이언트용 CentOS 7 클라우드 서버를 설정하는 중 소수의 SFTP 사용자 중 한 명의 비밀번호 대신 공개 RSA 키를 사용하도록 설정하는 데 문제가 있습니다.

키 설정에 대한 온라인 지침은 다음에서 찾을 수 있습니다.

https://debian-administration.org/article/530/SSH_with_authentication_key_instead_of_password

클라이언트는 공개 키 파일을 제공하고 "ssh-copy-id" 명령을 사용하여 이를 서버에 복사합니다. 제가 받은 답변에 따르면 모든 것이 괜찮았습니다.

그런 다음 "passwd -l" 명령을 사용하여 계정을 잠갔습니다. 서버를 재설정하고 확인하면 시스템에서 비밀번호가 잠겨 있는지 확인합니다.

testuser1 LK 2018-09-17 0 99999 7 -1 (비밀번호가 잠겨 있습니다.)

그러나 개인 키가 설치되지 않은 컴퓨터에서는 계정 비밀번호를 사용하여 계속 로그인할 수 있습니다.

그래서 더 많은 조사를 했고 etc/ssh/sshd_config 파일에서 PasswordAuthentication을 no로 설정하여 RSA 키를 강제로 사용할 수 있다는 또 다른 튜토리얼을 찾았지만, 다른 사용자는 로그인에 RSA 키를 사용하지 않기 때문에 우려가 됩니다.

제가 뭔가 잘못하고 있는 건가요? 아니면 이 단일 계정의 비밀번호를 비활성화하기 위해 할 수 있는 다른 조치가 있나요? 특정 사용자는 비밀번호를 사용하고 다른 사용자는 RSA 키를 사용하도록 허용하는 방법이 있습니까?

답변1

AWS에서 새로운 CentOS 인스턴스를 시작한 후 다음 프로세스를 거쳤습니다.

  1. 새 사용자 추가(및 비밀번호 설정)
  2. 비밀번호 로그인 테스트
  3. 계정 잠금
  4. 비밀번호 로그인 테스트
  5. 사용자 계정에 SSH 키 추가
  6. SSH 키 로그인 테스트

  1. 새 사용자 추가:

    [centos@ip-172-31-80-91 ~]$ sudo useradd -c "Demo User" -m demo_user
    [centos@ip-172-31-80-91 ~]$ sudo passwd demo_user
    Changing password for user demo_user.
    New password:
    Retype new password:
    passwd: all authentication tokens updated successfully.
    
  2. 비밀번호 로그인 테스트:

    [guzzijason@macbook ]$ ssh [email protected]
    [email protected]'s password:
    [demo_user@ip-172-31-80-91 ~]$
    
  3. 서버의 계정 잠금

    [centos@ip-172-31-80-91 ~]$ sudo passwd -l demo_user
    Locking password for user demo_user.
    passwd: Success
    
  4. 비밀번호 로그인 테스트(다시 한번 말하지만 이번에는 실패해야 함)

    [guzzijason@macbook ]$ ssh [email protected]
    [email protected]'s password:
    Permission denied, please try again.
    [email protected]'s password:
    Permission denied, please try again.
    [email protected]'s password:
    [email protected]: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
    
  5. 서버의 사용자 계정에 SSH 키를 추가합니다.

    [centos@ip-172-31-80-91 ~]$ sudo su -
    Last login: Mon Sep 17 22:07:43 UTC 2018 on pts/0
    [root@ip-172-31-80-91 ~]# umask 077
    [root@ip-172-31-80-91 ~]# mkdir /home/demo_user/.ssh
    [root@ip-172-31-80-91 ~]# echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDT+PautYetQxI+J8jshx2bZkMyuxd7dHBlCKjgIr9Y869RP+xzgvFFs1oCzAo/Q8Tn3Pz2htI4VN9h3LVsX+JuK3Omf+/vs6I21rIpDE2m/qhO5JH+2gflrsmhHRziHCbokoIr/LYIgkWAzgpiJ4tr2NWc8b32NggepIljfXBMm9TuuorYFNKqG8hpiHAsj5OugBiJUPyuBzPUlvFYdXuT0ireVlNgQcidi873psOWL9QQMrxTZYjd+Ucphk48otp/x7q3LD2luKXkfEsKyMgyVSApSfjdakh2ihJnfvhAfstAN+iuFPu1EYg5+4mUj0Z028TbxSn1hO5ijpgQDh8h guzzijason@macbook" >>/home/demo_user/.ssh/authorized_keys
    [root@ip-172-31-80-91 ~]# chown -R demo_user /home/demo_user/.ssh
    [root@ip-172-31-80-91 ~]# ls -ld $(find /home/demo_user/.ssh)
    drwx------. 2 demo_user root  29 Sep 18 02:25 /home/demo_user/.ssh
    -rw-------. 1 demo_user root 400 Sep 18 02:25 /home/demo_user/.ssh/authorized_keys
    [root@ip-172-31-80-91 ~]#
    
  6. SSH 키 로그인 테스트

    [guzzijason@macbook ]$ ssh -i .ssh/demo_user [email protected]
    Last login: Tue Sep 18 02:28:18 2018 from xxx
    [demo_user@ip-172-31-80-91 ~]$
    

노트:.ssh사용자를 위해 SSH 키를 설정할 때 흔히 저지르는 실수는 디렉터리와 파일에 대한 올바른 소유권이나 권한이 없다는 것입니다 authorized_keys. 이것들은 매우 중요합니다! 이러한 권한이 엄격하게 설정되지 않으면 SSH 키 인증이 실패합니다.

반품: PasswordAuthentication yessshd_config모든 것이 내 마음 속에 자리 잡았습니다.

관련 정보