有什么方法可以使用 传递密码.ssh/config吗?我正在尝试设置一种以特定用户登录服务器的方法,然后在连接时自动切换到root(需要输入密码)。
现在,我有:
Host server
HostName hostname.server.com
User not-root
Port 1234
RemoteCommand su
Run Code Online (Sandbox Code Playgroud)
一般来说,大多数系统管理员都会进行配置,以便他们的自动化不依赖于密码。
对于 SSH 身份验证,最简单的方法是创建私钥不受密码保护的密钥对。
如果您需要 SSH 私钥的密码,则将该密钥/密码添加到 ssh-agent(或 Mac OSX 钥匙串)是一次性操作,之后系统将不再提示您输入密码。
如果这不是一个选项,请sshpass在脚本/命令中使用命令行中的密码/密码
同样,最简单/传统的解决方案是避免输入密码。
您的选择取决于您的控制级别
设置 NOPASSWD sudo 策略(最好仅适用于相关命令),该策略将允许您在不输入密码的情况下执行sudo some-command --with args交互式sudo -i登录会话。
设置 root 帐户以进行直接远程 ssh 登录(不是最好的解决方案,但是当您不允许密码身份验证时,仅允许基于密钥的身份验证...)
根据设置,只需将您的帐户添加到“sudo”、“wheel”或“admin”组,您就可以获得完整的管理员权限
当您确实想提交密码时,expect有一个实用程序可以自动执行该操作