SSH

SSH

를 사용하여 비밀번호를 전달하는 방법이 있습니까 .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이를 자동화하는 유틸리티가 있습니다.

관련 정보