通过 Python 脚本拒绝所有用户基于密码的 SSH 登录

     2023-03-15     278

关键词:

【中文标题】通过 Python 脚本拒绝所有用户基于密码的 SSH 登录【英文标题】:Deny password-based SSH login for all users through a Python script 【发布时间】:2021-04-10 16:25:18 【问题描述】:

我正在编写一个 Python 脚本来拒绝远程服务器(Ubuntu 18.04)的基于密码的 SSH 登录。我将在我的主机系统 (Windows) 中运行 Python 脚本。因此,我已经使用 paramiko 模块与远程主机建立了 SSH 连接并初始化了 SSH 客户端。

为了拒绝基于密码的 SSH 登录,我应该编辑 /etc/ssh/sshd_config 文件并将“PasswordAuthentication yes”行更改为“PasswordAuthentication no” 请注意,我的远程系统允许无密码sudo。我只需要在sshd_config 文件中进行这一替换即可。

下面是我尝试过的命令:

ssh_client.exec_command("sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config")

我遇到了错误:couldn't open temporary file .sedVg2nV6: Permission Denied

有没有人遇到过这种情况? 除了sed,还有其他方法可以替换配置文件的一部分吗? sed 是否仅适用于 .txt 文件?

【问题讨论】:

错误信息意味着sed需要以root身份运行来创建它的临时输出文件。错误信息只是一个虚假的症状;这里真正的问题是,如果您不是root,则无法编辑系统文件。 (sed -i 在后台创建一个临时文件,如果成功,则将其移回原始输入文件的顶部。) Unix 的部分优点在于基本上所有的配置文件都是文本文件。 非常感谢你,我是 Unix 新手,希望我能尽快好起来,感谢这个伟大的社区。​​span> 【参考方案1】:

我认为你应该改变ssh_client.exec_command("sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config") tossh_client.exec_command("sudo sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config")(sed命令将以root权限执行)。

【讨论】:

/g 标志在这里也完全没有意义,它表示要替换所有出现的每一行,但您只希望每行最多出现一次。 谢谢。这是一个菜鸟的错误。 @PraveenMathew 没问题!

mySQL 密码策略拒绝所有创建用户的尝试

】mySQL密码策略拒绝所有创建用户的尝试【英文标题】:mySQLpasswordpolicyrefusesallattemptstocreateuser【发布时间】:2016-11-1009:46:00【问题描述】:我当前在我的ubuntu服务器上安装的mySQL/phpMyAdmin拒绝允许使用我尝试过的任何密码创建任... 查看详情

将文件从脚本目录复制到所有用户的桌面

】将文件从脚本目录复制到所有用户的桌面【英文标题】:CopyfilefromscriptdirectorytoAllUsers\'desktop【发布时间】:2015-12-1806:02:37【问题描述】:我已经编写了下面的脚本,但是当我运行它(使用PrimalScript进行故障排除)时,我收到... 查看详情

跨所有 cPanel 站点的基于密钥的登录

...描述】:我们目前在cPanel中托管超过50个客户站点,我们通过SFTP管理这些站点,每个站点使用单独的帐户用户名+密码。切换到基于密钥的登录并禁用密码对我们来说是有益的。您将如何执行此操作以便可以登录到任何一个客户... 查看详情

我从 phpmyadmin 中删除了所有用户,现在它说'#1045 - 用户'root'@'localhost'的访问被拒绝(使用密码:NO)'

】我从phpmyadmin中删除了所有用户,现在它说\\\'#1045-用户\\\'root\\\'@\\\'localhost\\\'的访问被拒绝(使用密码:NO)\\\'【英文标题】:Ideletedalltheusersfromphpmyadminandnowitissaying\'#1045-Accessdeniedforuser\'root\'@\'localhost\'(usingpassword:NO)\'我从phpmya 查看详情

如何限制用户仅通过https方式访问oss?

...使用HTTPS方式访问OSS,并且拒绝HTTP访问请求。目前OSS可以通过RAMpolicy方式实现:限制某个用户、角色拒绝通过HTTP协议访问指定的Bucket和对象。但是RAMPolicy是一种基于用户的授权方式,无法针对资源进行授权。也就是说无法针对Bu... 查看详情

在测试设备未通过基于 SMS 的用户身份验证后,iOS 应用程序被 Apple 拒绝 [关闭]

】在测试设备未通过基于SMS的用户身份验证后,iOS应用程序被Apple拒绝[关闭]【英文标题】:iOSapprejectedbyAppleaftertestdevicefailsSMSbaseduserauthentication[closed]【发布时间】:2021-06-0308:42:41【问题描述】:我有一个仅适用于iPhone设备的iOS... 查看详情

通过bash启动python脚本时权限被拒绝

】通过bash启动python脚本时权限被拒绝【英文标题】:Permissiondeniedwhenlaunchpythonscriptviabash【发布时间】:2011-08-1400:58:09【问题描述】:#./scripts/replace-md5sums.pybash:./scripts/replace-md5sums.py:Permissiondeniedreplace-md5sums.py有chmod600#ls-l./ 查看详情

通过脚本更改 AIX 密码?

】通过脚本更改AIX密码?【英文标题】:ChanginganAIXpasswordviascript?【发布时间】:2015-03-0610:09:05【问题描述】:我正在尝试通过脚本更改用户的密码。我不能使用sudo,因为有一个功能要求用户在另一个用户更改密码时再次更改密... 查看详情

用户“root@localhost”的访问被拒绝(使用密码:否)

】用户“root@localhost”的访问被拒绝(使用密码:否)【英文标题】:Accessdeniedforuser\'root@localhost\'(usingpassword:NO)【发布时间】:2016-12-2709:19:43【问题描述】:我是MySQL新手,我正在尝试在我的Windows桌面上运行WordPress,它需要MySQL... 查看详情

用python脚本能获取wifi密码么?能。(代码片段)

...。文章目录⛳️实战场景与`subprocess`模块介绍⛳️Python获取本地Wifi密码⛳️实战场景与subprocess模块介绍这篇博客给大家带来一个小小的案例,使用Python脚本获取本地电脑记录的所有Wifi密码。先介绍一下用到的模块s 查看详情

Google Clas-s-room API - 权限被拒绝

...试创建一个脚本,列出每门课程所有者的电子邮件。我想通过修改快速入门“listCourses()”示例来做到这一点,但是当尝试使用Clas-s-room.UserProf 查看详情

Python [Errno 13] 权限被拒绝:

】Python[Errno13]权限被拒绝:【英文标题】:Python[Errno13]Permissiondenied:【发布时间】:2017-04-2011:14:02【问题描述】:我正在尝试编写一个快速的python脚本来遍历当前文件夹中的所有csv文件并从中删除标题行,然后将它们存储在单独... 查看详情

通过读取用户和密码文件自动创建用户脚本

 用户文件/mnt/username    密码文件/mnt/passwdfileUsername文件中每一行代表一个用户,passwdfile中每行对应username中一个密码通过读取取两个文件,自动创建用户  #!/bin/bash       &nbs 查看详情

Oracle 11g r2 ORA-01017:用户名/密码无效;通过 JDBC 驱动程序连接时登录被拒绝

】Oracle11gr2ORA-01017:用户名/密码无效;通过JDBC驱动程序连接时登录被拒绝【英文标题】:Oracle11gr2ORA-01017:invalidusername/password;logondeniedwhenconnectingviaJDBCdriver【发布时间】:2015-06-2402:51:49【问题描述】:我不是Oracle专家,也不是数... 查看详情

自定义sap用户密码规则

...上需求,该如何来实现不同用户不同的密码规则呢?以下通过几个操 查看详情

拒绝对 WAMP 文件夹中所有文件的直接访问(下载)

...在创建一个视频共享网站,其中视频由注册用户上传,并通过检查他们的权限根据他们的要求播放。即通过检查是否允许用户观看视频?当另一个用户知道视频文件的完整路径时会出现问题:localhost/li 查看详情

使用securecrt远程linux,出现远程主机拒绝连接。

...exit退出cmd.exe程序或目前,用参数/B则是退出当前批处理脚本而不是cmd.exepath路径\可执行文件的文件名为可执行文件设置一个路径。cmd启动一个win2K命令解释窗口。参数:/eff、/en关闭、开启命令扩展;更我详细说明见cmd/?regedit/... 查看详情

我应该如何使用 python 脚本将用户名和密码传递给 Cassandra

】我应该如何使用python脚本将用户名和密码传递给Cassandra【英文标题】:HowshouldipassusernameandpasswordtoCassandrausingpythonscript【发布时间】:2020-09-0402:38:27【问题描述】:我是python编程的新手,我正在尝试构建一个脚本来备份Casandra元... 查看详情