xdotool getactivewindow key ctrl+c
xdotool getactivewindow key ctrl+v
Если вы запустите ssh testuser:20@<ip>
, то программа «ssh» --, которая, как я предполагаю, является версией OpenSSH --, передаст «testuser :20» на удаленный SSH. server в качестве логина для подключения.
Сервер SSH может интерпретировать имя входа по своему усмотрению. Сервер OpenSSH регистрирует полное имя входа, полученное от клиента, а затем отбрасывает двоеточие и любой текст, следующий за ним, из имени входа:
if ((r = sshpkt_get_cstring(ssh, &user, NULL)) != 0 ||
(r = sshpkt_get_cstring(ssh, &service, NULL)) != 0 ||
(r = sshpkt_get_cstring(ssh, &method, NULL)) != 0)
goto out;
debug("userauth-request for user %s service %s method %s", user, service, method);
debug("attempt %d failures %d", authctxt->attempt, authctxt->failures);
if ((style = strchr(user, ':')) != NULL) <-- Check for a colon
*style++ = 0; <-- Discard it
Таким образом, имя, содержащее двоеточие и следующий за ним текст, недоступно в течение оставшейся части сеанса.
Похоже, что единственный способ изменить это поведение с сервером OpenSSH — это изменить исходный код программы сервера ssh и использовать измененную версию. OpenSSH является открытым исходным кодом , так что это вариант, если функция достаточно важна для вас.
В качестве альтернативы вы можете просмотреть альтернативные серверы ssh, --большинство или все из которых будут коммерческими продуктами --, чтобы узнать, предлагает ли один из них эту функцию.
Такое имя пользователя обычно не поддерживается в обычных дистрибутивах Linux, см.https://unix.stackexchange.com/a/157431/330987