Борьба с созданием программы запуска паролей ssh ​​+

Так что я погуглил и обнаружил, что вы можете создавать псевдонимы в .bashrc чтобы у вас был быстрый доступ к вашим ssh-серверам, например:

alias connectme='ssh root@192.168.1.12 -p 999'

это довольно приятно, мне нужно только набрать connectme и пароль. Я погуглил еще немного, и оказалось, что ты можешь сделать это

alias connectme='sshpass -p "thepasswordincleartext" ssh root@192.168.1.12 -p 999'

(да второй -p правильно передается как "порт", а не "пароль" для второй команды; ssh) Я погуглил еще немного и начал создавать .desktop пусковая.

вот когда я столкнулся с дорожным кочком

  • либо псевдоним без пароля работает, но мне приходится каждый раз вводить пароль.
  • или я добавляю sshpass и окно терминала закрывается после завершения соединения.

(Я попытался заставить терминал оставаться открытым после завершения команды в его параметрах, и тогда я понял, что бегуны.desktop действительно набирают "выход" и принудительно отключают)

вот с чем я работаю:

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=true
Exec=bash -c 'exec bash -i <<<"connectme"'
Name=connectme
Comment=connectme
Icon=/home/user/.local/share/icons/debian.png

эта сложная глупость

bash -c 'exec bash -i <<<"command"'

сделано потому, что по какой-то причине Exec не охватывает bash и вашу область пользователя. Понятия не имею, почему бы и нет.

Как настроить работающий модуль запуска для ssh с паролем (и почему бы не отправить первую команду на удаленный сервер при подключении)?

Я готов отредактировать среду, если это то, что нужно.

1 ответ

Вместо того, чтобы вставлять слова в ваш псевдоним, используйте ssh-copy-id скопировать ваш ключ SSH PUBLIC к цели, и использовать ~/.ssh/config уточнять детали. Например, вот мой ~/.ssh/config:

$ cat .ssh/config
# alias aardvark='ssh -l w3 aardvark '
# alias cookie='ssh -l walt cookie '
# alias fw='ssh -l root -p 8022 spark2y '
# alias squid='ssh -l walt squid '
# alias wombat='ssh -l walt wombat '
#
Host aa
     Hostname aardvark
     User w3
     ForwardX11 yes
     Protocol 2

Host ck
     Hostname cookie
     User walt
     ForwardX11 yes
     Protocol 2

Host fw
     Hostname spark2y
     User root
     Port 8022
     ForwardX11 yes
     Protocol 2

Host sq
     Hostname squid
     User walt
     ForwardX11 yes
     Protocol 2

Host wm
     Hostname wombat
     User walt
     ForwardX11 yes
     Protocol 2

Читать man ssh-copy-id;man ssh;man ssh_config,

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