ccc*_*ccc 5 linux key-authentication home
我目前必须与用户 FOO 进行 ssh,然后对用户 BAR 进行 sudo。
我想使用公钥 ssh,但在远程系统上没有用户 FOO 的主目录,所以显然没有 .ssh/authorized_keys。我可以把我的公钥放在哪里?
/home 目录是空的,所以似乎没有为任何用户创建主目录,而且我在该系统上没有 root。
谢谢。
假设您的用户名是testssh:
/etc/ssh/authorized_keys_testssh并把你的密钥放在那里/etc/ssh/sshd_config:Match User testssh
AuthorizedKeysFile /etc/ssh/authorized_keys_%u
Run Code Online (Sandbox Code Playgroud)
并重新启动 sshd。您的用户将能够使用他的私钥进行 ssh。
您可能无法 - 请与您的系统管理员联系。
首先,/home目录为空(即使它不存在)这一事实并不一定意味着您的用户没有主目录。您可以尝试查看环境变量的值HOME:
$ echo $HOME
/path/to/nonstandard/homedirectory
Run Code Online (Sandbox Code Playgroud)
或使用getent命令:
$ getent passwd username
username:*:1001:1001:User Name:/path/to/nonstandard/homedirectory:/bin/bash
Run Code Online (Sandbox Code Playgroud)
如果事实证明您的用户确实没有主目录,那么如果您的服务器管理员为您的文件设置了非标准位置,那么仍然可以使用公钥authorized_keys。
假设您使用OpenSSH ,则可以通过配置文件中的关键字authorized_keys指定文件的位置。请参阅文档以获取更多信息:AuthorizedKeysFilesshd_config
默认值为~/.ssh/authorized_keys。您必须查看设置以/etc/ssh/sshd_config查看默认值是否被覆盖。由于您没有 root 访问权限,如果您想进行任何更改,您可能必须向系统管理员寻求帮助。
如果事实证明您没有主目录,系统管理员没有为您的authorized_keys文件配置不同的位置,并且您没有计算机的管理权限,那么您可能无法使用基于密钥的身份验证 - 与您的系统管理员联系。
| 归档时间: |
|
| 查看次数: |
5020 次 |
| 最近记录: |