Выполнение ssh-add на ssh / slogin, если ключ отсутствует в ssh-agent?

«sudo install» не является подходящей командой для достижения желаемого. Это, однако, следующее: sudo dpkg -i package.deb

9
задан 18 February 2011 в 21:55

33 ответа

Я разработал решение для этого через оболочку bash.

Добавить в .bashrc:

check-ssh-add() {
if [ "$DESKTOP_SESSION" == "" ]; then
  if [[ `ssh-add -l` != *id_?sa* ]]; then 
    ssh-add -t 5h  ## 5 hour ssh-agent expiration
  fi
fi
}

slogin() {
check-ssh-add
/usr/bin/slogin $@
}

ssh() {
check-ssh-add
/usr/bin/ssh $@
}

scp() {
check-ssh-add
/usr/bin/scp $@
}

sftp() {
check-ssh-add
/usr/bin/sftp $@
}
9
ответ дан 25 May 2018 в 22:55

Я разработал решение для этого через оболочку bash.

Добавить в .bashrc:

check-ssh-add() { if [ "$DESKTOP_SESSION" == "" ]; then if [[ `ssh-add -l` != *id_?sa* ]]; then ssh-add -t 5h ## 5 hour ssh-agent expiration fi fi } slogin() { check-ssh-add /usr/bin/slogin $@ } ssh() { check-ssh-add /usr/bin/ssh $@ } scp() { check-ssh-add /usr/bin/scp $@ } sftp() { check-ssh-add /usr/bin/sftp $@ }
9
ответ дан 25 July 2018 в 22:27

Я разработал решение для этого через оболочку bash.

Добавить в .bashrc:

check-ssh-add() { if [ "$DESKTOP_SESSION" == "" ]; then if [[ `ssh-add -l` != *id_?sa* ]]; then ssh-add -t 5h ## 5 hour ssh-agent expiration fi fi } slogin() { check-ssh-add /usr/bin/slogin $@ } ssh() { check-ssh-add /usr/bin/ssh $@ } scp() { check-ssh-add /usr/bin/scp $@ } sftp() { check-ssh-add /usr/bin/sftp $@ }
9
ответ дан 26 July 2018 в 21:44

Я разработал решение для этого через оболочку bash.

Добавить в .bashrc:

check-ssh-add() { if [ "$DESKTOP_SESSION" == "" ]; then if [[ `ssh-add -l` != *id_?sa* ]]; then ssh-add -t 5h ## 5 hour ssh-agent expiration fi fi } slogin() { check-ssh-add /usr/bin/slogin $@ } ssh() { check-ssh-add /usr/bin/ssh $@ } scp() { check-ssh-add /usr/bin/scp $@ } sftp() { check-ssh-add /usr/bin/sftp $@ }
9
ответ дан 31 July 2018 в 10:59

Я разработал решение для этого через оболочку bash.

Добавить в .bashrc:

check-ssh-add() { if [ "$DESKTOP_SESSION" == "" ]; then if [[ `ssh-add -l` != *id_?sa* ]]; then ssh-add -t 5h ## 5 hour ssh-agent expiration fi fi } slogin() { check-ssh-add /usr/bin/slogin $@ } ssh() { check-ssh-add /usr/bin/ssh $@ } scp() { check-ssh-add /usr/bin/scp $@ } sftp() { check-ssh-add /usr/bin/sftp $@ }
9
ответ дан 31 July 2018 в 11:58

Я разработал решение для этого через оболочку bash.

Добавить в .bashrc:

check-ssh-add() { if [ "$DESKTOP_SESSION" == "" ]; then if [[ `ssh-add -l` != *id_?sa* ]]; then ssh-add -t 5h ## 5 hour ssh-agent expiration fi fi } slogin() { check-ssh-add /usr/bin/slogin $@ } ssh() { check-ssh-add /usr/bin/ssh $@ } scp() { check-ssh-add /usr/bin/scp $@ } sftp() { check-ssh-add /usr/bin/sftp $@ }
9
ответ дан 2 August 2018 в 03:54

Я разработал решение для этого через оболочку bash.

Добавить в .bashrc:

  check-ssh-add () {if ["$ DESKTOP_SESSION  "==" "];  то если [[`ssh-add -l`! = * id_? sa *]];  затем ssh-add -t 5h ## 5-часовое выключение ssh-agent fi fi} slogin () {check-ssh-add / usr / bin / slogin $ @} ssh () {check-ssh-add / usr / bin /  ssh $ @} scp () {check-ssh-add / usr / bin / scp $ @} sftp () {check-ssh-add / usr / bin / sftp $ @}  
9
ответ дан 4 August 2018 в 19:57

Я разработал решение для этого через оболочку bash.

Добавить в .bashrc:

  check-ssh-add () {if ["$ DESKTOP_SESSION  "==" "];  то если [[`ssh-add -l`! = * id_? sa *]];  затем ssh-add -t 5h ## 5-часовое выключение ssh-agent fi fi} slogin () {check-ssh-add / usr / bin / slogin $ @} ssh () {check-ssh-add / usr / bin /  ssh $ @} scp () {check-ssh-add / usr / bin / scp $ @} sftp () {check-ssh-add / usr / bin / sftp $ @}  
9
ответ дан 6 August 2018 в 04:00

Я разработал решение для этого через оболочку bash.

Добавить в .bashrc:

  check-ssh-add () {if ["$ DESKTOP_SESSION  "==" "];  то если [[`ssh-add -l`! = * id_? sa *]];  затем ssh-add -t 5h ## 5-часовое выключение ssh-agent fi fi} slogin () {check-ssh-add / usr / bin / slogin $ @} ssh () {check-ssh-add / usr / bin /  ssh $ @} scp () {check-ssh-add / usr / bin / scp $ @} sftp () {check-ssh-add / usr / bin / sftp $ @}  
9
ответ дан 7 August 2018 в 21:58

Я разработал решение для этого через оболочку bash.

Добавить в .bashrc:

  check-ssh-add () {if ["$ DESKTOP_SESSION  "==" "];  то если [[`ssh-add -l`! = * id_? sa *]];  затем ssh-add -t 5h ## 5-часовое выключение ssh-agent fi fi} slogin () {check-ssh-add / usr / bin / slogin $ @} ssh () {check-ssh-add / usr / bin /  ssh $ @} scp () {check-ssh-add / usr / bin / scp $ @} sftp () {check-ssh-add / usr / bin / sftp $ @}  
9
ответ дан 10 August 2018 в 10:12

Я разработал решение для этого через оболочку bash.

Добавить в .bashrc:

  check-ssh-add () {if ["$ DESKTOP_SESSION  "==" "];  то если [[`ssh-add -l`! = * id_? sa *]];  затем ssh-add -t 5h ## 5-часовое выключение ssh-agent fi fi} slogin () {check-ssh-add / usr / bin / slogin $ @} ssh () {check-ssh-add / usr / bin /  ssh $ @} scp () {check-ssh-add / usr / bin / scp $ @} sftp () {check-ssh-add / usr / bin / sftp $ @}  
9
ответ дан 13 August 2018 в 16:34

На самом деле есть еще более простой способ. ssh-add -l возвращает true (0), если в противном случае есть ключи и false (1), поэтому ваша первая функция может быть заменена следующим:

check-ssh-add() {
  if ! ssh-add -l >/dev/null; then
      ssh-add -t 5h
  fi
}

 

6
ответ дан 25 May 2018 в 22:55

Еще проще в части «это интерактивный сеанс» добавить

ssh-add -l &> /dev/null || ssh-add ~/.ssh/my_id
0
ответ дан 25 May 2018 в 22:55

На самом деле есть еще более простой способ. ssh-add -l возвращает true (0), если в противном случае есть ключи и false (1), поэтому ваша первая функция может быть заменена следующим:

check-ssh-add() { if ! ssh-add -l >/dev/null; then ssh-add -t 5h fi }

& nbsp;

6
ответ дан 25 July 2018 в 22:27

Еще проще в части «это интерактивный сеанс» добавить

ssh-add -l &> /dev/null || ssh-add ~/.ssh/my_id
0
ответ дан 25 July 2018 в 22:27

На самом деле есть еще более простой способ. ssh-add -l возвращает true (0), если в противном случае есть ключи и false (1), поэтому ваша первая функция может быть заменена следующим:

check-ssh-add() { if ! ssh-add -l >/dev/null; then ssh-add -t 5h fi }

& nbsp;

6
ответ дан 26 July 2018 в 21:44

Еще проще в части «это интерактивный сеанс» добавить

ssh-add -l &> /dev/null || ssh-add ~/.ssh/my_id
0
ответ дан 26 July 2018 в 21:44

На самом деле есть еще более простой способ. ssh-add -l возвращает true (0), если в противном случае есть ключи и false (1), поэтому ваша первая функция может быть заменена следующим:

check-ssh-add() { if ! ssh-add -l >/dev/null; then ssh-add -t 5h fi }

& nbsp;

6
ответ дан 31 July 2018 в 10:59

Еще проще в части «это интерактивный сеанс» добавить

ssh-add -l &> /dev/null || ssh-add ~/.ssh/my_id
0
ответ дан 31 July 2018 в 10:59

На самом деле есть еще более простой способ. ssh-add -l возвращает true (0), если в противном случае есть ключи и false (1), поэтому ваша первая функция может быть заменена следующим:

check-ssh-add() { if ! ssh-add -l >/dev/null; then ssh-add -t 5h fi }

& nbsp;

6
ответ дан 31 July 2018 в 11:58

Еще проще в части «это интерактивный сеанс» добавить

ssh-add -l &> /dev/null || ssh-add ~/.ssh/my_id
0
ответ дан 31 July 2018 в 11:58

На самом деле есть еще более простой способ. ssh-add -l возвращает true (0), если в противном случае есть ключи и false (1), поэтому ваша первая функция может быть заменена следующим:

check-ssh-add() { if ! ssh-add -l >/dev/null; then ssh-add -t 5h fi }

& nbsp;

6
ответ дан 2 August 2018 в 03:54

Еще проще в части «это интерактивный сеанс» добавить

ssh-add -l &> /dev/null || ssh-add ~/.ssh/my_id
0
ответ дан 2 August 2018 в 03:54

Еще проще в части «это интерактивный сеанс» добавить

  ssh-add -l & amp; gt;  / dev / null ||  ssh-add ~ / .ssh / my_id  
0
ответ дан 4 August 2018 в 19:57

На самом деле есть еще более простой способ. ssh-add -l возвращает true (0), если в противном случае есть ключи и false (1), поэтому ваша первая функция может быть заменена следующим:

   ssh-add () {if!  ssh-add -l & gt; / dev / null;  затем ssh-add -t 5h fi}  

& nbsp;

6
ответ дан 4 August 2018 в 19:57

Еще проще в части «это интерактивный сеанс» добавить

  ssh-add -l & amp; gt;  / dev / null ||  ssh-add ~ / .ssh / my_id  
0
ответ дан 6 August 2018 в 04:00

На самом деле есть еще более простой способ. ssh-add -l возвращает true (0), если в противном случае есть ключи и false (1), поэтому ваша первая функция может быть заменена следующим:

   ssh-add () {if!  ssh-add -l & gt; / dev / null;  затем ssh-add -t 5h fi}  

& nbsp;

6
ответ дан 6 August 2018 в 04:00

Еще проще в части «это интерактивный сеанс» добавить

  ssh-add -l & amp; gt;  / dev / null ||  ssh-add ~ / .ssh / my_id  
0
ответ дан 7 August 2018 в 21:58

На самом деле есть еще более простой способ. ssh-add -l возвращает true (0), если в противном случае есть ключи и false (1), поэтому ваша первая функция может быть заменена следующим:

   ssh-add () {if!  ssh-add -l & gt; / dev / null;  затем ssh-add -t 5h fi}  

& nbsp;

6
ответ дан 7 August 2018 в 21:58

Еще проще в части «это интерактивный сеанс» добавить

  ssh-add -l & amp; gt;  / dev / null ||  ssh-add ~ / .ssh / my_id  
0
ответ дан 10 August 2018 в 10:12

Другие вопросы по тегам:

Похожие вопросы: