我正在寻找一个相对简单的单行命令,bash
它将在未来登录时禁用密码提示ssh
(或者最好仅在下一次ssh
登录时),以及一种反转它的方法(反转不一定是一个) -衬垫)。
这可能吗?
答案1
仅需一站式购买密钥对认证。ssh-copy-id [email protected]
如果您还没有可供使用的密钥对,请生成一个: 。ssh-keygen && ssh-copy-id [email protected]
答案2
您可以设置ssh-keys
,让您无需任何密码即可登录服务器。使用 .将 PC 的 sshkey 复制~/.ssh/idrsa.pub
到要连接的服务器ssh-copy-id user@host
。
这将使您的 PC 使用以下选项无需密码即可连接到服务器ssh -A user@host
如果idrsa.pub
不存在,可以使用命令创建ssh-keygen
这可能不是一个简单的方法,但这可以解决您的问题。并且设置起来非常简单。
答案3
这里给出的答案是正确的,但是当您为此编写脚本时,简单scp
是行不通的。因为第一次连接需要允许服务器的公钥(指纹)。因此,在编写脚本时,您需要通过添加 -o StrictHostKeyChecking=no
选项来绕过它。所以现在你的一句台词将是ssh-copy-id -o StrictHostKeyChecking=no [email protected]
如果还没有创建你的 ssh 密钥ssh-keygen -t rsa -f ~/ -q -P "" & ssh-copy-id -o StrictHostKeyChecking=no [email protected]