gpt4 book ai didi

linux - Bash 脚本 - 不传递任何值

转载 作者:太空宇宙 更新时间:2023-11-04 12:53:08 24 4
gpt4 key购买 nike

我的目标是创建一个可以将新用户添加到 Ec2 并提供对 ssh key 的访问权限的 bash 脚本,但我遇到了一些问题。

这是我当前的脚本,脚本在需要生成私钥/公钥时停止,因为它要求输入密码。如何将我的脚本配置为仅按 Enter 键?

#!/bin/bash

username=$1

ssh-keygen -b 1024 -f $username -t dsa
chmod 600 $username.pub
useradd $username
mkdir /home/$username/.ssh
chmod 700 /home/$username/.ssh
chown ball:ball /home/$username/.ssh
cat ball.pub >> /home/$username/.ssh/authorized_keys
chown 600 /home/.ssh/$username/authorized_keys
chown ball:ball /home/$username/.ssh/authorized_keys

[root@ip-172- /]# ssh-keygen -b 1024 -f ball -t dsa
Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ball.

最佳答案

您可以将空行通过管道传输到 ssh-keygen:

ssh-keygen -b 1024 -f ball -t dsa <<< ''

printf "" | ssh-keygen -b 1024 -f ball -t dsa

或者从/dev/null读取:

ssh-keygen -b 1024 -f ball -t dsa < /dev/null

关于linux - Bash 脚本 - 不传递任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36528886/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com