keytool错误bash:keytool:找不到命令

时间:2013-05-02 08:35:52

标签: java tomcat ssl certificate keytool

我曾尝试从Java bin目录执行keytool但是出现错误警告bash:keytool:command not found。

root@xxxxxx]# keytool -genkey -alias mypassword -keyalg RSA

bash: keytools: command not found

14 个答案:

答案 0 :(得分:41)

这些是解决我问题的步骤:

  • 搜索我安装java的路径

    find / -name jre
    
  • 转到java目录(我的服务器上安装了jre)

    cd /path/to/jre/location
    
  • 使用keytool命令创建ssl证书

    ./keytool -genkey -alias [mypassword] -keyalg [RSA]
    

答案 1 :(得分:11)

使用

./keytool -genkey -alias mypassword -keyalg RSA

答案 2 :(得分:5)

确保已安装jre。

cd /path/to/jre/bin/folder

由于keytool文件存在于jre的bin文件夹中,所以按照上面的命令给路径到bin。

然后你可以这样做:

keytool -genkey -alias aliaskeyname -keyalg RSA -keystore C:\mykeystore

附加选项-keystore将帮助您指定生成自签名证书的路径。

答案 3 :(得分:4)

似乎调用sudo update-alternatives --config java会影响keytool。根据选择的Java版本,它会更改keytool是否在路径上。我不得不选择开放的JDK而不是Oracle的JDK来获取bash: /usr/bin/keytool: No such file or directory

答案 4 :(得分:3)

找到您的jre位置:: sudo find / -name jre 然后:: sudo update-alternatives --install /usr/bin/keytool keytool /opt/jdk/<jdk.verson>/jre/bin/keytool 100

答案 5 :(得分:2)

你试过了:

sudo apt-get install oracle-java6-installer --reinstall

sudo update-alternatives --config keytool

答案 6 :(得分:2)

Keytool随Java库一起提供。因此,您必须从/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home/jre/bin目录中执行Keytool命令。 或者,您可以将JAVA_HOME添加到环境变量(Windows)或〜/ .bash_profile(Linux)

答案 7 :(得分:2)

这对我有用

sudo apt install openjdk-8-jre-headless

答案 8 :(得分:1)

如果您正在寻找keytool,因为您正在使用Android studio / Google Firebase,则Android Studio附带了一个keytool。解压缩zip文件后,keytool的路径为android-studio/jre/bin

答案 9 :(得分:1)

您也可以像这样将其放在一行上:

/path/to/jre/bin/keytool -genkey -alias [mypassword] -keyalg [RSA]

想将其作为对piet.t答案的评论,但我没有足够的代表对此评论。

请参阅本文的“签名”部分,其中描述了如何在不将工作目录更改为路径的情况下访问keytool.exe: https://flutter.dev/docs/deployment/android#signing-the-app

请注意,他们说您可以输入带空格的文件夹名称(例如/“ Program Files” /),但在bash中我必须用反斜杠(例如/ Program \ Files /)进行分隔。

答案 10 :(得分:0)

请按照以下步骤操作:

  1. 首先使用setDomain.sh命令设置域 转到domain/bin位置并执行./setDomain.sh命令

  2. 转到java/bin文件夹并执行keytool命令。

  3. keytool -genkey -keyalg RSA -kaysize 2048 -alias name -kaystore file.jks

答案 11 :(得分:0)

如果jre已正确安装在您的计算机上,则在jre或jre / bin中查找keytool

  1. 要找到jre的安装位置,请使用此

    sudo find / -name jre

  2. 然后在path_to_jre或path_to_jre / bin / p中寻找keytool

  3. cd到键盘工具的位置

  4. 然后运行./keytool

  5. 确保将路径添加到$ PATH by

    export PATH = $ PATH:location_to_keytool

  6. 为确保在此之后正确运行,请运行

    其中keytool

  7. 为将来编辑bash或zshrc文件并获取其源文件

答案 12 :(得分:0)

在Windows 10中,您需要添加一个双斜杠

./keytool -genkey -v -keystore c:\\Users\\USERNAME\\youralias.jks -storetype JKS -keyalg RSA -keysize 2048 -validity 10000 -alias youralias

答案 13 :(得分:0)

如果您不使用openjdk,请使用以下命令来设置键盘工具。

sudo update-alternatives --install "/usr/bin/keytool" "keytool" "/usr/lib/jvm/java8/jdk1.8.0_251/bin/keytool" 1

AND

sudo update-alternatives --set keytool /usr/lib/jvm/java8/jdk1.8.0_251/bin/keytool

这对我有用!