标签: login

如何禁用某些用户使用密码的 SSH 登录?

在 Linux (Debian Squeeze) 上,我想对某些用户(选定组或除 root 之外的所有用户)禁用使用密码的 SSH 登录。但我不想为他们禁用使用证书登录。

编辑:非常感谢详细的回答!出于某种原因,这在我的服务器上不起作用:

Match User !root
PasswordAuthentication no
Run Code Online (Sandbox Code Playgroud)

...但可以很容易地替换为

PasswordAuthentication no
Match User root
PasswordAuthentication yes
Run Code Online (Sandbox Code Playgroud)

linux ssh login password

182
推荐指数
2
解决办法
19万
查看次数

我的密码是否因为忘记在 ssh 用户名后按 Enter 键而被泄露?

我刚刚尝试使用 SSH(PuTTY、Windows)登录Fedora(第 13 版 Goddard)服务器。出于某种原因,Enter输入我的用户名后没有通过,我输入了密码并再次按 Enter 键。当服务员热情地迎接我我才意识到我的错误

myusername MYPASSWORD @server.example.com 的密码:

此时我断开了连接并更改了该机器上的密码(通过单独的 SSH 连接)。

...现在我的问题是:这种失败的登录是否以纯文本形式存储在任何日志文件中?换句话说,我是否只是在远程管理员下次扫描他的日志时将我的(现在已经过时的)密码强加给他?

更新

感谢您对隐含问题“将来如何防止这种情况发生”的所有评论。为了快速、一次性的连接,我现在将使用这个 PuTTY 功能:

在此处输入图片说明

替换原来的“自动登录用户名”选项

在此处输入图片说明

我还将开始更频繁地使用 ssh 密钥,如PuTTY 文档中所述

windows ssh login password logging

141
推荐指数
3
解决办法
5460
查看次数

如何在 ssh 登录时自动更改目录?

我试图ssh在登录时自动更改到特定目录。我尝试使用以下指令使该行为正常工作~/.ssh/config

Host example.net
LocalCommand "cd web"
Run Code Online (Sandbox Code Playgroud)

但是每当我登录时,我都会看到以下内容:

/bin/bash: cd web: No such file or directory
Run Code Online (Sandbox Code Playgroud)

尽管web我的主目录中肯定有一个文件夹。即使使用绝对路径也会给出相同的消息。需要明确的是,如果我cd web在登录后输入,我会进入正确的文件夹。

我在这里缺少什么?

编辑:

引号/绝对路径的不同组合给出不同的错误信息:

LocalCommand "cd web"
/bin/bash: cd web: No such file or directory

LocalCommand cd web
/bin/bash: line 0: cd: web: No such file or directory

LocalCommand cd /home/gareth/web
/bin/bash: line 0: cd: /home/gareth/web: Input/output error
Run Code Online (Sandbox Code Playgroud)

这让我认为引号不应该在那里,并且发生了另一个错误。

ssh login

107
推荐指数
6
解决办法
12万
查看次数

如何以 /usr/sbin/nologin 作为 Shell 的用户身份运行命令?

我需要做的就是以特定用户身份运行特定脚本,该用户nologin/false/etc/passwd.

我会以 root 身份运行脚本,这应该以另一个用户身份运行。跑步:

~# su -c "/bin/touch /tmp/test" testuser
Run Code Online (Sandbox Code Playgroud)

会工作,但我需要一个有效的测试用户外壳。我知道我可以禁用密码passwd -d testuser并将外壳保留为/bin/bash这种方式会安全一点,但我需要有nologin/false外壳。

基本上我需要的是crontab当我们将作业设置为以特定用户身份运行时会做什么,而不管这个用户是否有nologin/falseshell。

ps 我发现这个线程Executing a command as a nologin user,但我不知道如何concatenate将命令su -s /bin/sh $user发送到我需要运行的脚本。

linux su login shell bash

104
推荐指数
3
解决办法
14万
查看次数

如何防止用户登录,但在 Linux 中允许“su - user”?

您如何允许用户使用“ su - user ”登录但阻止用户使用 SSH 登录?

我试图将外壳设置为/bin/false但是当我尝试su它时不起作用。

有几种方法只允许登录su

SSH 是AllowUser要走的路吗?(如果这是要走的路,我会怎么做)

linux su login

97
推荐指数
3
解决办法
11万
查看次数

如何提取登录历史?

我需要知道特定用户的登录历史(即登录和注销时间),如何在 Linux 中提取特定日期范围的历史?

linux login

96
推荐指数
3
解决办法
25万
查看次数

在不运行 bash_profile 或 bashrc 的情况下登录

因此,假设有人在其中输入了一些内容以.bashrc阻止他(或她)通过 viassh登录(即 ssh 登录因文件中的错误而退出)。有没有什么方法可以让这个人在不执行它的情况下登录(或者.bashrc因为一个运行另一个),或者以其他方式删除/重命名/使文件无效?

假设您没有对机器的物理访问权限,并且这是唯一可以通过 ssh 进入的用户帐户。

供参考:.bash_profile包括.bashrc

[[ -f ~/.bashrc ]] && . ~/.bashrc
Run Code Online (Sandbox Code Playgroud)

编辑:我尝试过的事情:

ssh user@host "rm ~/.bashrc"

scp nothing user@host:/RAID/home/tom/.bashrc

ssh user@host  "/bin/bash --norc"
Run Code Online (Sandbox Code Playgroud)

都给出错误:

/RAID/home/tom/.bashrc: line 16: /usr/local/bin/file: No such file or directory
/RAID/home/tom/.bashrc: line 16: exec: /usr/local/bin/file: cannot execute: No such file or directory
Run Code Online (Sandbox Code Playgroud)

ssh login bashrc

92
推荐指数
7
解决办法
13万
查看次数

如何在 ssh 启动时编辑欢迎消息?

我的网站托管有一个 VPS。它正在运行 Ubuntu 服务器。每次我通过 ssh 登录我的服务器时,它都会在我的终端中显示一条冗长的欢迎消息。

Linux node61.buyvm.net 2.6.18-pony6-3 #1 SMP Tue Mar 13 07:31:44 PDT 2012 x86_64

Debian GNU/Linux 系统中包含的程序是免费软件;每个程序的确切分发条款在 /usr/share/doc/*/copyright 中的各个文件中进行了描述。

在适用法律允许的范围内,Debian GNU/Linux 不附带任何保证。上次登录:2012 年 7 月 11 日星期三 12:08:19 来自 113.72.193.52 Linux node61.buyvm.net 2.6.18-pony6-3 #1 SMP Tue Mar 13 07:31:44 PDT 2012 x86_64

Debian GNU/Linux 系统中包含的程序是免费软件;每个程序的确切分发条款在 /usr/share/doc/*/copyright 中的各个文件中进行了描述。

在适用法律允许的范围内,Debian GNU/Linux 不附带任何保证。进入 CT 17323 -bash-4.2#

在对此做了一些研究之后(是的,我只是在谷歌搜索),我意识到我的服务器应该有一个.bashrc.bash_profile(或.profile)控制这个。我使用 vim 打开我的.bashrc.profile我似乎找不到任何可以在我的终端中显示消息的代码行。因此我想知道是否有另一个文件?

我想注释掉那些欢迎消息,因为我的 SFTP 没有出现错误 ( Received message too long 761422195)。我很确定这个错误是由我的服务器的欢迎消息引起的。

ubuntu ssh login bash

78
推荐指数
6
解决办法
23万
查看次数

/sbin/nologin 和 /bin/false 有什么区别?

我经常听到有人建议将用户帐户设置为/bin/false. 但是,在我现有的 Linux 系统上,我看到大量现有帐户(所有这些帐户都是服务帐户)都有一个 shell /sbin/nologin

我从手册页看到/sbin/nologin向用户打印一条消息,说该帐户已被禁用,然后退出。大概/bin/false不会打印任何东西。

我还看到 中/sbin/nologin列出了/etc/shells,而未列出/bin/false

手册页说 FTP 将禁止使用列出的 shell 的用户访问,/etc/shells并暗示其他程序可能会这样做。这是否意味着有人可以使用具有/sbin/nologin外壳的帐户进行 FTP登录?

这里有什么区别?我应该使用其中的哪一个来禁用用户帐户,在什么情况下?上市/etc/shells还有什么其他影响?

security linux login

71
推荐指数
2
解决办法
4万
查看次数

测试用户帐户和密码的工具(测试登录)

是的,我可以启动虚拟机或远程设备并尝试输入密码……我知道……但是有没有一种工具或脚本可以模拟登录,足以确认或否认密码正确?

设想:

服务器服务帐户的密码被“忘记”...但我们认为我们知道它是什么。我想将凭据传递给某些东西,并让它以“正确的密码”或“不正确的密码”反击。

我什至想过一个驱动器映射脚本,其中传递了该用户帐户和密码,以查看它是否成功映射了驱动器,但在使其正常工作的逻辑中迷失了......类似于:

-Script 通过 msgbox 请求用户名 -script 通过 msgbox 请求密码 -script 尝试将驱动器映射到每个人都可以访问的公共共享 -script 如果成功则取消映射驱动器 -script 返回弹出 msgbox 说明“正确密码”或“不正确”密码”

任何帮助表示赞赏......你会认为这将是一种罕见的情况,不需要工具来支持它但是......好吧......

scripting windows login password

54
推荐指数
3
解决办法
16万
查看次数

标签 统计

login ×10

linux ×5

ssh ×5

password ×3

bash ×2

su ×2

windows ×2

bashrc ×1

logging ×1

scripting ×1

security ×1

shell ×1

ubuntu ×1