우분투 1804인 Azure VM 서버를 만들었으며 이를 사용하여 루트 SSH 공개 키 로그인을 활성화해야 합니다. Azure는 서버를 생성할 때 루트 SSH 공개 키 로그인을 활성화하는 것을 원하지 않으므로 비밀번호와 함께 루트가 아닌 다른 계정을 사용하여 직접 로그인해야 합니다.
답변1
sshpass -p 'xxxYourPassword' ssh -C -o StrictHostKeyChecking=no -o ConnectTimeout=10 xxxYourServerUsername@xxxYourServerIp 'sudo bash -c '"'"'umask 077 && mkdir -p .ssh && echo '"'"'"'"'"'"'"'"'xxxYourSshPublicKey'"'"'"'"'"'"'"'"'>> /root/.ssh/authorized_keys'"'"''
xxxYourPassword를 귀하의 비밀번호로 바꾸십시오. xxxYourServerIp를 서버 IP로 바꾸십시오. xxxYourServerUsername을 서버 사용자 이름으로 바꾸십시오. xxxYourSshPublicKey를 SshPublicKey 콘텐츠로 바꿉니다(이렇게 해야 합니다 ssh-rsa xxx root@xxx
).
나는 이것이 안전한 방법이 아니라는 것을 알고 있지만 한 줄의 명령으로 작업을 수행하고 golang에서 자동으로 호출하고 싶습니다. 자동으로 안전한 다른 방법이 있으면 알려주시기 바랍니다.
루트 계정과 비밀번호 없이만 생성이 가능한 vps 업체가 많아서 자동으로 만들어야 하는데...
감사해요https://stackoverflow.com/questions/1250079/how-to-escape-single-quotes-within-single-quoted-stringsbash에서 문자열을 계속해서 이스케이프하고 이스케이프하는 방법을 알려주십시오.