SSH를 통해 비밀번호 로그인을 비활성화하는 명령?

SSH를 통해 비밀번호 로그인을 비활성화하는 명령?

따라서 로 /etc/ssh/sshd_config변경하여 수정하여 SSH를 통한 비밀번호 인증을 비활성화할 수 있다는 것을 알고 있습니다 . SSH 로그인이 모든 사용자의 키 파일을 통해서만 수행될 수 있도록 하고 싶습니다.PasswordAuthentication YesPasswordAuthentication no

이 옵션을 설정하는 멋진 한 줄짜리 명령이 있습니까?

답변1

나는 이것을 성공적으로 테스트했습니다.

sudo sed -E -i 's|^#?(PasswordAuthentication)\s.*|\1 no|' /etc/ssh/sshd_config
if ! grep '^PasswordAuthentication\s' /etc/ssh/sshd_config; then echo 'PasswordAuthentication no' |sudo tee -a /etc/ssh/sshd_config; fi

이는 sed파일을 내부에서 편집하는 데 사용됩니다. 뒤에 오는 내용을 PasswordAuthentication로 바꾸는 것 외에도 noUbuntu에 기본적으로 있는 줄 시작 부분의 주석을 제거합니다. 이 명령을 두 번째 또는 세 번째로 실행하면 파일에 추가 변경 사항이 없습니다.

두 번째 줄은 파일이 삭제된 경우를 대비해 파일에 구성 옵션을 추가합니다.

관련 정보