hadoop执行ssh-keygen –t rsa生成公钥和密钥时出现Too many arguments. usage: ssh-keygen要如何解决
时间: 2023-06-14 15:04:12 浏览: 189
这个错误通常是因为在命令中输入了太多参数或者参数格式不正确导致的。在执行ssh-keygen命令时,正确的格式应该是:
```
ssh-keygen -t rsa
```
这样就可以生成公钥和私钥了。请注意,这个命令中只有一个参数“-t”后面跟着的是“rsa”,表示生成RSA算法的密钥对。
如果你还是遇到了问题,可以尝试在命令中加上 "-v" 参数,以便在执行过程中输出更详细的信息,例如:
```
ssh-keygen -t rsa -v
```
这样可以更好地帮助你诊断问题所在。
相关问题
hadoop生成公钥和密钥时出现Too many arguments. usage: ssh-keygen [options]
这个错误提示意味着你在使用 ssh-keygen 命令时提供了太多的参数。ssh-keygen 命令用于生成 SSH 密钥对,用于身份验证和加密通信。正确的用法是:
```
ssh-keygen [选项]
```
如果你只是想生成默认名称的密钥对,则可以直接运行:
```
ssh-keygen
```
这将生成默认名称的密钥对并将其保存在默认位置(用户主目录下的.ssh目录中)。如果你想为这些密钥指定其他名称,请使用 -f 选项。
例如,要为密钥对指定名称 mykey,可以运行以下命令:
```
ssh-keygen -f mykey
```
请确保在运行 ssh-keygen 命令时不要添加任何额外的参数或选项。
使用ssh-copy-id命令将公钥传送到远程主机上(这里以Hadoop. Slave1为例)。 Hadoop.slave1执行sudo apt-get install openssh-server
使用`ssh-copy-id`命令将公钥传输到Hadoop奴隶节点(如Slave1)上的步骤如下:
1. **生成本地SSH密钥**:首先,在你的主节点(通常是安装了SSH服务的系统)上,如果还没有,生成一个新的SSH密钥对。在终端中输入:
```
ssh-keygen -t rsa
```
2. **查看公钥内容**:生成完成后,你会看到两个文件,一个是私钥(`id_rsa`),另一个是公钥(`id_rsa.pub`)。你需要的是公钥内容,通常在`~/.ssh/id_rsa.pub`文件中。
3. **添加公钥到.ssh目录**:复制公钥内容,然后通过`scp`命令将其上传到Hadoop_slave1的.ssh目录下。假设用户名为`your_username`:
```
scp ~/.ssh/id_rsa.pub your_username@Hadoop.slave1:~/.ssh/
```
输入密码或按照提示输入权限信息后,公钥就会被安全地保存在Hadoop_slave1的.ssh目录。
4. **允许无密码登录**:在Hadoop_slave1上,使用`ssh`命令尝试连接,系统会提示你添加当前主机的公钥到`known_hosts`文件并信任。在Hadoop_slave1上输入:
```
ssh your_username@Hadoop.slave1
```
首次连接时需要输入密码,然后选择信任并接受公钥。此时,系统会将你的公钥添加到`known_hosts`中,下次就不需要密码直接登录了。
5. **安装openssh-server**(如果还未安装):最后,在Hadoop_slave1上运行`sudo apt-get install openssh-server`来安装SSH服务器。
阅读全文