我想使用 ssh 密钥认证。我有一个包含以下内容的文件:
ip位置
ip位置
等等
我有一个 bash 脚本如下:
declare -A mylist
declare -A myarray
i=1
while read line ; do
mylist[$i]=$(echo $line | awk '{print $1}')
myarray[$i]=$(echo $line | awk '{print $2}')
((i++))
done <file.conf
for ip in "${mylist[@]}"; do
for location in "${myarray[@]}" ; do
ssh ${ip} tail -f ${location} > /home/log_${ip} 2>/dev/null &
done
done
Run Code Online (Sandbox Code Playgroud)
当我这样做时,它一直要求我输入密码。我不知道如何生成密钥,请告诉我步骤。
小智 5
以普通用户身份从主机执行以下命令。这将在该主机上为该用户生成一个公钥-私钥。
ssh-keygen
Run Code Online (Sandbox Code Playgroud)
默认情况下,密钥将在 ~/.ssh 下创建,通常命名为 id_rsa(私钥) id_rsa.pub(公钥) 现在可以将公钥复制到任意数量的远程计算机,并且所有进一步安全的登录都可以主机不会提示输入密码。
ssh-copy-id user@machine
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3493 次 |
最近记录: |