Ubuntu 서버의 설정을 수정하는 스크립트를 작성 중입니다.
내부에는 다음 줄이 있습니다.
sudo sed 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
문제는 이 변화가 지속되지 않는다는 것이다. 단지 "아니요"를 "예"로 다시 바꾸는 것뿐입니다.
명령이 실행되면 수정된 파일이 터미널에 즉시 "No"로 표시되지만, 파일을 cat하거나 vim에서 열면 다시 "Yes"로 표시됩니다.
또한 vim에서 sshd_config를 열고 수동으로 수정할 수 있으며 변경 사항은 여전히 괜찮습니다.
어떤 아이디어가 있나요?
감사해요.
답변1
-i
스위치를 사용하여 명령을 시작하면 됩니다.
sudo sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
~에서man sed
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension supplied).
The default operation mode is to break symbolic and hard links.
This can be changed with --follow-symlinks and --copy.