📅  最后修改于: 2023-12-03 14:59:53.779000             🧑  作者: Mango
如果你是程序员,特别是使用Linux或Unix系统的程序员,你可能会需要使用ssh密钥来在不同计算机之间进行安全的身份验证。要在远程计算机上进行身份验证,你需要在本地计算机上生成一个ssh密钥,并将公钥添加到远程计算机的authorized_keys文件中。
本文将介绍如何使用Shell命令和Bash脚本拼接cat命令来获取ssh公钥。
首先,你需要确保你的系统已经生成了ssh密钥。如果还没有,你可以通过以下命令来生成:
ssh-keygen
在提示输入文件名和密码时,可以一路回车使用默认设置。这将在本地计算机的~/.ssh目录下生成一个id_rsa私钥和一个id_rsa.pub公钥文件。id_rsa是私钥文件,而id_rsa.pub是公钥文件。
现在,你可以使用cat命令来获取公钥。下面是一个Shell命令示例:
cat ~/.ssh/id_rsa.pub
这将打印公钥到终端输出中。
如果你想将公钥复制到远程计算机的authorized_keys文件中,你可以使用以下命令:
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
这将把公钥添加到远程计算机的authorized_keys文件中。
如果你需要将这个命令嵌入到Bash脚本中,你可以使用以下示例脚本:
#!/bin/bash
KEY_FILE=~/.ssh/id_rsa.pub
REMOTE_HOST=example.com
REMOTE_USER=username
cat "$KEY_FILE" | ssh "$REMOTE_USER@$REMOTE_HOST" "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
这个脚本将使用变量$KEY_FILE,$REMOTE_HOST和$REMOTE_USER来替换命令中的值,从而实现更方便的使用。
总之,使用Shell命令和Bash脚本拼接cat命令来获取ssh公钥是非常方便的,特别是当你需要在多个计算机之间进行身份验证时。