首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在asyncssh.run上输入密码(“sudo su")并继续输入命令?

在使用asyncssh库的run方法执行远程命令时,可以通过设置password参数来输入密码,并且使用新的SSH连接来继续输入命令。

下面是一个示例代码,展示如何在asyncssh.run上输入密码并继续输入命令:

代码语言:txt
复制
import asyncssh
import asyncio

async def run_remote_command():
    # 远程主机的IP地址和SSH端口
    host = 'remote_host'
    port = 22
    
    # 远程主机的用户名和密码
    username = 'your_username'
    password = 'your_password'
    
    try:
        # 建立SSH连接
        async with asyncssh.connect(host, port=port, username=username, password=password) as conn:
            # 输入sudo su命令
            stdin, stdout, stderr = await conn.open_session(term_type='ansi')
            await stdin.write('sudo su\n')
            await stdin.drain()
            
            # 输入密码
            await asyncio.sleep(0.5)  # 延时等待命令执行完成
            await stdin.write('your_sudo_password\n')
            await stdin.drain()
            
            # 继续输入其他命令
            await asyncio.sleep(0.5)  # 延时等待密码输入完成
            await stdin.write('your_command\n')
            await stdin.drain()
            
            # 读取命令输出
            output = await stdout.read()
            print(output)
            
    except (OSError, asyncssh.Error) as exc:
        print('SSH连接失败:', str(exc))

# 运行异步函数
asyncio.get_event_loop().run_until_complete(run_remote_command())

这个代码示例假设你已经安装了asyncssh库,并且替换了示例中的remote_host、your_username、your_password、your_sudo_password和your_command为实际的值。

这段代码使用asyncssh库的connect方法建立SSH连接,并使用open_session方法打开一个新的SSH会话。然后,它使用write方法输入sudo su命令,再使用write方法输入密码和其他命令。通过read方法读取命令的输出。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

何在CentOS创建Sudo用户

adduser username 使用该passwd命令更新新用户的密码。 passwd username 在提示符下设置确认新用户的密码。强烈建议使用强密码!...在新用户帐户测试sudo访问权限 使用此su命令切换到新用户帐户。 su - username 作为新用户,通过将“sudo”添加到要以超级用户权限运行的命令,验证是否可以使用sudo。...sudo ls -la /root 在会话中首次使用sudo时,系统将提示您输入用户帐户的密码输入密码继续。...[sudo] password for username: 如果您的用户位于正确的组中并且您正确输入密码,则使用sudo发出的命令应以root权限运行。...相关教程 以下是更详细的用户管理教程的链接: 如何在Linux添加/删除用户和用户组 想要了解更多关于Linux开源信息教程,请前往腾讯云+社区学习更多知识。

5K00

何在Ubuntu创建Sudo用户

adduser username 在提示符下设置确认新用户的密码。强烈建议使用强密码!...在新用户帐户测试sudo访问权限 使用此su命令切换到新用户帐户。 su - username 作为新用户,验证是否可以通过将“sudo”添加到要以超级用户权限运行的命令来使用sudo。...sudo ls -la /root 首次sudo在会话中使用时,系统将提示您输入用户帐户的密码输入密码继续。...[sudo] password for username: 如果您的用户位于正确的组中并且您正确输入密码,则使用sudo发出的命令就应以root权限运行。...相关教程 以下是更详细的用户管理教程的链接: 如何在Ubuntu服务器添加和删除用户 想要了解更多关于Linux开源信息教程,请前往腾讯云+社区学习更多知识。

1.7K00
  • Linux系统如何在不知道账号密码的情况下切换用户?

    本文,我们将展示如何在不需要密码的情况下切换到另一个或特定的用户帐户。...postgres帐户,而无需输入密码su 默认情况下,只有 root 用户可以在不输入密码的情况下切换到另一个用户帐户,任何其他用户将被提示输入他们要切换到的用户帐户的密码(或者如果他们使用sudo 命令...想要允许特定组中的用户无需密码即可切换到另一个用户帐户,可以在/etc/pam.d/su文件中修改su 命令的默认 PAM 设置。...$sudo usermod -aG postgres quanquan 现在尝试su的Postgres的帐户作为用户quanquan,你不应该被提示输入如下所示的密码: $ su - postgres...现在尝试以quanquan用户身份登录postgressu帐户,shell 不应提示您输入密码: $ sudo su - postgres [无密码切换到其他用户] 好了,本文就到这边!

    2.2K30

    linux中没有密码的情况下切换到另一个用户帐户

    何在不需要密码的情况下切换到另一个或特定的用户帐户。...任何其他用户将被提示输入他们要切换到的用户帐户的密码(或者如果他们使用sudo 命令,他们将被提示输入他们的密码),如果没有提供正确的密码,会得到一个 authentication failed错误 有两种解决方案...接下来,添加用户(例如 rumenz) 你想要su的账户postgres 没有组的密码 postgres使用usermod 命令。...$sudo usermod -aG postgres rumenz 现在尝试su的postgres 作为用户的帐户 rumenz,你不应被提示输入密码,如下面的屏幕截图所示: $ su - postgres...现在尝试到su帐户postgres 作为用户 rumenz,shell 不应提示你输入密码: $ sudo su - postgres 还有其它的配置选项参考帮助手册。

    1.8K20

    何在CentOS创建Sudo用户

    sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,halt,reboot,su等等。...sudo不是对shell的一个代替,它是面向每个命令的。 在教程中,将向你展示如何在 CentOS 创建具有 sudo 权限的新用户。...如果要为现有用户配置 sudo,只需将你的用户添加到wheel组中,步骤 4 所示。 按照以下步骤在你的 CentOS 服务器创建一个 sudo 用户: 1....将新用户添加到wheel组: > usermod -aG wheel rumenz 如何使用sudo 切换 到新创建的用户: > su - rumenz 要使用 sudo,只需在命令前加上sudo。...> sudo [COMMAND] 例如,要列出/root你将使用 的目录的内容: > sudo ls -l /root 第一次从该帐户使用 sudo 时,你将看到以下横幅消息,并提示你输入用户帐户的密码

    1.9K20

    何在CentOS创建Sudo用户

    sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,halt,reboot,su等等。...sudo不是对shell的一个代替,它是面向每个命令的。 在教程中,将向你展示如何在 CentOS 创建具有 sudo 权限的新用户。...如果要为现有用户配置 sudo,只需将你的用户添加到wheel组中,步骤 4 所示。 按照以下步骤在你的 CentOS 服务器创建一个 sudo 用户: 1....将新用户添加到wheel组: > usermod -aG wheel rumenz 如何使用sudo 切换 到新创建的用户: > su - rumenz 要使用 sudo,只需在命令前加上sudo。...> sudo [COMMAND] 例如,要列出/root你将使用 的目录的内容: > sudo ls -l /root 第一次从该帐户使用 sudo 时,你将看到以下横幅消息,并提示你输入用户帐户的密码

    1.3K00

    腾讯云 Linux 服务器安装宝塔面板

    本文指导您如何在腾讯云服务器的 Linux 实例上手动安装宝塔面板。...su切换到root用户。...执行sudo su切换root用户 步骤三:安装面板 将以下命令复制到终端执行,下载安装宝塔面板 url=https://download.bt.cn/install/install_lts.sh;if...“外网面板地址”参数值,访问进入宝塔面板页面 例如:https://193.xxx.xxx.xxx:15706/80b6a328 首次打开浏览器可能会遇到如下提示: 请点击【高级】-【继续访问】或【接受风险继续...】访问 打开后输入记录的username 用户名、password 密码登录 登陆后阅读用户协议 步骤六:绑定账号 登录绑定宝塔账号,您首次使用宝塔,请先点击注册账号前往宝塔官网完成注册后登录。

    54430

    susudo之间的区别以及如何在Linux中配置sudo

    'su'对比'sudo' ' su '强制您将root密码分享给其他用户,而' sudo '则可以在不使用root密码的情况下执行系统命令。'...sudo '可让您使用自己的密码执行系统命令,例如,无需root密码即可授权系统责任。 什么是'sudo'?...' sudo '是一个根二进制setuid,代表授权用户执行root命令,用户需要输入自己的密码才能执行系统命令,然后执行' sudo '。 谁可以执行'sudo'?...如何在输入密码的情况下执行' sudo '命令? 我们可以通过使用' NOPASSWD '标志来输入sudo '命令而不用输入密码。...adam ALL=(ALL) NOPASSWD: PROCS 在这里,用户' adam '可以在“ PROCS ” 下执行aliased所有命令,而无需输入密码

    2K60

    su命令sudo命令以及限制root的远程登陆

    $=一条命令的最后一个参数    !...全部命令 普通用户必须创建一个密码,才可以用 sudo 命令。...然后切换到配置完文件以后的 普通用户 就可以再普通用户上面执行 root 指定的命令。第一次使用sudo命令必须输入密码。必须给普通用户创建一个密码。...同样也可以第一次使用 sudo 命令时不输入密码,配置文件时 在命令前面加上 NOPASSWD NOPASSWD = 不需要密码登陆 限制root远程登陆: 如果想要使用普通用户本地登陆root用户可以配置文件...用户的权限) 然后在设定一个规则   AMINGS 里面包括了(aming,user5,user6)   NOPASSD 表示执行命令 su 的时候不需要输入密码,保存退出即可。

    1.7K50

    搞它!!!Linux系统安全及应用以弱口令检测

    -V, --version 输出版本信息退出 [root@localhost ~]# su - shang '从root切换到其他用户不需要输入密码' [lisi@localhost ~]$...su - root '从其他用户切换到root用户需要输入密码' 密码: '输入用户root的密码' 将允许使用su命令的用户加入wheel组,在wheel组内的用户才可以使用su切换用户命令 [... [wangwu@localhost ~]$ su - zhen '无法使用su命令' 密码su: 拒绝权限 [wangwu@localhost ~]$ su - zhen '无法使用su命令'....sufficient验证成功则立即返回,不在继续,否则忽略结果继续 4.optional不用于验证,只显示信息(通常用于session(会话)类型) 4、使用sudo机制提升权限 默认情况下,任何用户都允许使用...su命令,从而恶意用户有机会反复尝试其他用户(root)的登录密码,带来安全风险 (1) sudo命令的用途及用法 用途:以其他用户身份(root)执行授权的命令 用法:sudo 授权命令 (3)

    3.1K30

    3.8 sudo命令

    sudo命令的用法 sudo命令用法一 su命令可以切换用户身份 在 su 在切换成普通用户后,是无法查看/root/目录的,这时用sudo命令,则可以让该用户临时拥有root用户的权限 使用在visudo...命令中,编辑的命令要使用绝对路径 [root@hf-01 ~]# su - hanfeng 一次登录:四 11月 2 03:52:44 CST 2017pts/0 [hanfeng@hf-01...在sudo命令下,可以使用绝对路径命令,也可以直接使用命令去执行,得到的结果相同 [root@hf-01 ~]# visudo [root@hf-01 ~]# su - user2 一次登录:四 11...在第一次使用sudo命令,去执行某条命令,会要求输入当前用户的密码,但在第二次执行该条命令时,直接输入即可执行(或者,在visudo的配置文件中,在该用户的写上无需密码hanfeng ALL=(ALL...) NOPASSWD:ALL 就可直接登录,无需密码了),再添加命令需要使用绝对路径 在visudo的配置文件中写错了,保存退出后,会报错,这时选择 e 然后回车继续进去编辑即可。

    95620

    面试:说说Linux 命令 susudo 的区别?

    这个小技巧,表示重复上面输入命令,只不过在命令最前面加上 sudo 。 因为我已经设置了 sudo 命令不需要输入密码,所以这里 sudo !! 就能直接输出内容。...操作,如果间隔在 5min 之内,第二次输入 sudo 不需要重新输入密码;如果超过 5min,那么再输入 sudo 时,又需要输入密码。...切换到 root 用户: sudo su - 这种方式也能以 login-shell 的方式切换到 root 用户,但是它和 su - 方法是由区别的: 前者输入 sudo su - 后,需要提供当前用户的登录密码...还有一个命令sudo -i 这个命令和 sudo su - 效果一致,也是切换到 root 用户,也是需要提供当前用户(ubuntu 用户)的登录密码。...实际的确是这样的。

    2.4K40

    Linux基础(day13)

    命令切换用户后,再切换到另一个用户下 只要输入再次切换用户的密码即可登录 [root@localhost ~]# su - hanfeng 一次登录:三 11月 1 16:09:37 CST...~]$ ls /root/ ls: 无法打开目录/root/: 权限不够 [hanfeng@hf-01 ~]$ sudo /usr/bin/ls /root/ 在执行命令后,会提示输入hanfeng用户的密码.../sudoers.tmp配置文件,设置NOPASSWD: ALL,则之后再也不需要输入密码。...在第一次使用sudo命令,去执行某条命令,会要求输入当前用户的密码,但在第二次执行该条命令时,直接输入即可执行(或者,在visudo的配置文件中,在该用户的写上无需密码hanfeng ALL=(ALL...) NOPASSWD:ALL 就可直接登录,无需密码了),再添加命令需要使用绝对路径 在visudo的配置文件中写错了,保存退出后,会报错,这时选择 e 然后回车继续进去编辑即可。

    46210

    何在 Ubuntu 修改 Root 用户密码

    默认情况下,在 Ubuntu ,root 用户账号因为安全原因被禁用。 这篇指南解释如何临时修改 root 用户账号,并且如何在 Ubuntu 系统修改 root 用户密码。...想要临时提升 root 用户使用权限,在命令前面加上sudosudo command-name 第一次你在会话中使用 sudo 的时候,你会被提示输入用户密码。...在当前登录的会话中,临时切换到 root 账号,你可以使用sudo su或者sudo -i命令,然后输入用户密码sudo su - 运行whoami命令来验证当前的用户身份是否已经被改变: whoami...在 Ubuntu 中想要改变 root 用户的密码,以 sudo 用户身份运行下面的命令sudo passwd root 你会被提示输入并且确认新的 root 用户密码。...在你输入密码的时候,密码不会被显示在屏幕: Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully

    4K20

    Linux用户身份切换

    身份切换方式一:su命令可以将身份切换至指定账户,但需要输入该账户的密码。...若只想执行一个root权限才能执行的命令的时候,可以将命令直接写在-c的后面,这样无需切换身份,su -c vim /etc/shadow 身份切换方式二:sudo 使用su切换身份需要直到root...开启sudo免密功能 先前的用户在执行sudo命令后都需要输入自己的密码,然而对于一些十分信任的用户可以免去他们在sudo输入密码: $users ALL=(ALL) NOPASSWD...与su的搭配使用 susudo各有千秋,su能切换用户身份,但需要知道对方的密码,这并不安全;而sudo无需知道对方的密码,但每次执行root命令都需要加上sudo,这很不方面,下面的配置能够让这两种方式的优点结合起来...: User_Alias ADMINS = chai1,chai2,chai3 ADMINS ALL=(root) /bin/su - 此时只要输入sudo su -输入自己的密码后即可变成root账户

    7.9K70

    想熟悉PostgreSQL?这篇就够了

    何在Ubuntu安装登录PostgreSQL 我们将在Ubuntu安装PostgreSQL,但它应该可以在大多数其他发行版的默认存储库中使用。...输入以下要安装的命令sudo apt-get update sudo apt-get install postgresql postgresql-contrib 安装后,创建一个新用户来管理我们将要创建的数据库...: sudo adduser postgres_user 登录默认的PostgreSQL用户(称为“postgres”)来创建数据库并将其分配给新用户: sudo su - postgres PSQL...; 使用以下命令退出界面: \q 退出默认的“postgres”用户帐户使用以下命令登录您创建的用户: exit sudo su - postgres_user 使用以下命令登录您创建的数据库: psql...如何在PostgreSQL中更改表数据 我们可以使用以下通用语法更改表的定义: ALTER TABLE table_name Action_TO_Take; 例如,我们可以通过输入以下命令在我们的“pg_equipment

    3.2K20

    Debian入门教程:删除和授予用户Sudo权限

    当您需要使用较大权限的功能时,可以通过名为sudo命令访问该功能,该命令将临时提升单个命令的权限。 本文将介绍如何在Debian系统创建新用户。...输入“Enter”跳过这些提示接受输入的值。...在不先注销的情况下快速切换到另一个用户的另一种方法是使用su命令。你可以像这样使用它: su - newuser 这将询问您新用户的密码。正确输入后,您将更改为新用户。...如果您创建的用户是您系统的主要用户,则通常需要启用sudo权限,以便您可以执行例行配置和维护。 我们允许用户使用visudo命令访问sudo命令。...现在,当您以普通用户身份登录时,可以通过输入以下内容执行具有root权限的特定命令sudo command_name 你会被提示输入您的用户密码。然后将使用提升的访问权执行该命令

    3.9K30

    Linux用户账户管理精髓:创建、删除、密码与会话管理全攻略

    命令会在/etc/passwd、/etc/shadow、/etc/group等文件中添加相应的条目,创建用户的家目录(如果指定了的话)。删除用户:使用userdel命令可以删除用户。...删除用户:sudo userdel -r newuser这里,-r选项表示同时删除用户的家目录和邮件目录。二、设置与修改密码理论设置密码:在创建用户后,通常需要为用户设置密码。...这可以通过passwd命令完成。只有具有足够权限的用户(Root)才能为其他用户设置密码。修改密码:用户可以使用passwd命令修改自己的密码,而系统管理员则可以使用该命令为任何用户修改密码。...代码示例为用户设置密码sudo passwd newuser执行后,系统会提示输入确认新密码。用户修改自己的密码:passwd直接输入passwd命令后,系统会提示当前用户输入确认新密码。...如果以Root用户身份执行su命令而不带任何参数,则会切换到Root账户。如果以普通用户身份执行su命令指定用户名,则会尝试切换到该用户账户,但通常需要输入目标用户的密码

    10610

    统信服务器操作系统

    执行时会要求输入密码,这个密码是你要切换到的用户的密码sudo 表示 “superuser do”。它允许已验证的用户以其他用户的身份来运行命令。其他用户可以是普通用户或者超级用户。...ALL=(ALL) ALL 用户执行sudo命令(不需要输入用户密码) ytzmdz ALL=(ALL) NOPASSWD: ALL %wheel 组中用户执行sudo命令(需要输入密码...sudo操作记录 进入visudo文件输入Defaults logfile = “/var/log/sudo命令保存退出 查看sudo 命令日志 将用户添加wheel组 usermod -G wheel...sudo 执行程序启用了setuid位。...sudo su `sudo su` 命令实际是先使用 `sudo` 以root用户的权限执行 `su` 命令。用于获取一个 root 用户的 shell,但不会加载 root 用户的完整环境。

    38010
    领券