Строка
"\M-[3~": delete-char
неверна, потому что она указывает bash искать символ мета для [
, который (согласно bash) может быть escape-символ, за которым следует [
, или это может быть символ, образованный операцией OR'ing [
с 0x80, то есть 0xdb, который равен Û
Фактический ключ будет использовать просто экранирующий символ, поэтому вам следует использовать этот параметр:
"\e[3~": delete-char
Отображается ?
, поскольку отсутствует TTY (интерфейс терминала), к которому подключен этот процесс. Это удачно, поскольку sshd
является системным демоном и не должен зависеть от клиентского сеанса.
Как упоминалось в комментариях, закрытие сеанса завершит все связанные процессы для этого TTY, что нежелательно для общесистемных процессов.