
를 사용하여 비밀번호를 전달하는 방법이 있습니까 .ssh/config
? 특정 사용자로 서버에 로그인한 다음 연결 시 자동으로 루트로 전환하는 방법을 설정하려고 합니다(비밀번호 입력 필요).
지금은 다음이 있습니다.
Host server
HostName hostname.server.com
User not-root
Port 1234
RemoteCommand su
- 다음 단계를 수행해야 합니다(사용자 -> su).
- 이 키를 사용해야 합니다(암호 포함).
답변1
일반적으로 대부분의 시스템 관리자는 자동화가 암호에 의존하지 않도록 구성합니다.
SSH
SSH 인증의 경우 가장 쉬운 방법은 개인 키가 비밀번호로 보호되지 않는 키 쌍을 만드는 것입니다.
개인 SSH 키에 암호가 필요한 경우 해당 키/암호를 ssh-agent(또는 Mac OSX 키체인)에 추가하는 것은 일회성 작업이므로 더 이상 암호를 입력하라는 메시지가 표시될 필요가 없습니다.
이것이 옵션이 아닌 경우 다음을 사용하십시오.sshpass
스크립트/명령에서 명령줄의 비밀번호/암호 문구를 사용하세요.
서버에서
역시 가장 쉽고 전통적인 해결책은 비밀번호를 입력하지 않아도 되는 것입니다.
이에 대한 옵션은 귀하의 통제 수준에 따라 다릅니다.
암호를 입력하지 않고도 대화형 로그인 세션을 실행
sudo some-command --with args
하거나 실행할 수 있도록 NOPASSWD sudo 정책(이상적으로는 관련 명령에만 해당)을 설정합니다 .sudo -i
직접 원격 SSH 로그인을 위해 루트 계정을 설정합니다(최상의 솔루션은 아니지만 비밀번호 인증을 허용하지 않으면 키 기반 인증만 허용합니다...)
설정에 따라 계정을 "sudo", "wheel" 또는 "admin" 그룹에 추가하기만 하면 전체 관리자 권한을 얻을 수 있습니다.
정말로 비밀번호를 제출하고 싶을 때 expect
이를 자동화하는 유틸리티가 있습니다.