если у вас есть java crons и вы хотите проверить перед запуском этого cron, попробуйте следующее: System.out.println ("Проверка предыдущих сеансов для этого cron:" + cronname);
String proname=ManagementFactory.getRuntimeMXBean().getName();
String pid=proname.split("@")[0];
System.out.println("Current PID:"+pid);
Process proc = Runtime.getRuntime().exec(new String[]{"bash","-c"," ps aux | grep "+cronname+" | awk '{print $2}' "});
BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String s = null;
String killid="";
while ((s = stdInput.readLine()) != null ) {
if(s.equals(pid)==false)
{
killid=killid+s+" ";
}
}
System.out.println("Running PID'S except current:"+killid);
proc.waitFor();
Process proc1 = Runtime.getRuntime().exec(new String[]{"bash","-c","kill -9 "+killid});
proc1.waitFor();
System.out.println("Previous duplicate sessions closed for: "+cronname);
pass cronname как ur cronname.jar
У меня была такая же проблема с Sierra. Попробуйте удалить id_rsa
из $ HOME / .ssh /
, а затем перезапустите (я также удалил id_rsa.pub). Это решило мою проблему.
Эта ошибка произошла со мной, когда ссылающееся удостоверение отличалось от того, которое было добавлено. Опция -d
удаляет определенный ключ. Если этот ключ никогда не загружался, он отказывается его удалять. Вы можете проверить ключи, загруженные с помощью ssh-add -l
, и проверить подписи ключей с помощью ssh-keygen -lf <path-to-private-key>
Если ничего из вышеперечисленного не работает, для меня это был ~/.gnupg/sshcontrol
, где ключи были «кэшированы».
Была такая же проблема,исправлено с помощью
killall ssh-agent
ssh-add -l
The agent has no identities.
Я обнаружил, что в Ubuntu 18.04 по-прежнему присутствует эта ошибка.
Вот мой простой способ удалить ненужный ключ (s )из агента ssh -без особых усилий:
Найдите ключ, который хотите удалить
ssh-add -l
2048 SHA256:qzJYF7AJAJsLsJn7ZFPcJ+w78ZJVoPZI9TzXCq2cf5.ssh/bad-key.pem (RSA)
Перейдите в свой каталог ~/.ssh и создайте подкаталог -с именем, например, disabled
cd ~/.ssh
mkdir disabled
Переместите ключ, который вы хотите отключить, в этот каталог.
mv bad-key.pem disabled/
Вот именно. Ключ больше не должен быть доступен в агенте ssh -, но вы все еще можете получить его и добавить обратно, если вам нужно.
В моем случае у меня была немного другая проблема. Когда я вызвал ssh-add -D
, агент, казалось, преуспел и ответил All identities removed.
, но на самом деле, при перечислении ключей агента ssh-add -l
нежелательные ключи оставались в списке, и, конечно, при попытке использовать агент для аутентификации на удаленном host агент предложит мне использовать мою настроенную программу PIN-кода для парольной фразы к нежелательным ключам. Раздражающий.
Причина проблемы заключалась в том, что демон моего агента gpg -кэшировал ключи в файле по пути~/.gnupg/sshcontrol
:
$ cat ~/.gnupg/sshcontrol
# List of allowed ssh keys. Only keys present in this file are used
# in the SSH protocol. The ssh-add tool may add new entries to this
# file to enable them; you may also add them manually. Comment
# lines, like this one, as well as empty lines are ignored. Lines do
# have a certain length limit but this is not serious limitation as
# the format of the entries is fixed and checked by gpg-agent. A
# non-comment line starts with optional white spaces, followed by the
# keygrip of the key given as 40 hex digits, optionally followed by a
# caching TTL in seconds, and another optional field for arbitrary
# flags. Prepend the keygrip with an '!' mark to disable it.
# RSA key added on: 2021-06-03 16:23:25
# Fingerprints: MD5:c1:[elided]:24
# SHA256:+Mj[elided]E4
21[elided]C9 0
# Ed25519 key added on: 2021-06-03 22:11:36
# Fingerprints: MD5:[elided]:24:da
# SHA256:EL[elided]Zs
E0[elided]47 0
Удаление этих ключей из ~/.gnupg/sshcontrol
позволило мне возобновить использование агента gpg -для аутентификации на удаленных хостах без запроса агентом парольной фразы для ключей, которые я больше не использую.