Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
5年前关闭。
Improve this question
我已经在本地计算机上安装了自己的rpm软件包。在安装过程中,我应该测试没有密码的ssh连接。
rpm软件包有一个文件夹,其中包含软件和脚本。
在rpm的%post 部分上,我调用我的脚本之一(script1),并通过以下命令创建新用户(例如,将其称为“user1”):
此后,我调用另一个脚本(script2),其中包含以下内容:
但是安装完成后,我不能做
没有密码。
另外,如果我手动执行,我也无法没有密码登录
但是,如果我之前删除了dsa-keys:
我可以用
没有问题。
另外,如果我手动运行script1和script2,则可以成功使用ssh。
我做错了什么?
我也检查了$ HOME / .ssh中所有文件的权限
更新:
但是许可仍然
Update2 :
还有助于仅删除authorized_keys并重新创建它:
现在script1看起来像这样:
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
5年前关闭。
Improve this question
我已经在本地计算机上安装了自己的rpm软件包。在安装过程中,我应该测试没有密码的ssh连接。
rpm软件包有一个文件夹,其中包含软件和脚本。
在rpm的%post 部分上,我调用我的脚本之一(script1),并通过以下命令创建新用户(例如,将其称为“user1”):
groupadd user1
adduser -g user1 -c "sshuser" user1 >/dev/null
此后,我调用另一个脚本(script2),其中包含以下内容:
su -c "$0" user1
echo "y" | ssh-keygen -t dsa -P '' -f $HOME/.ssh/id_dsa
cat $HOME/.ssh/id_dsa.pub >> $HOME/.ssh/authorized_keys
chmod 600 $HOME/.ssh/authorized_keys
ssh-keyscan -H localhost
但是安装完成后,我不能做
su user1
ssh localhost
没有密码。
另外,如果我手动执行,我也无法没有密码登录
su user1
echo "y" | ssh-keygen -t dsa -P '' -f $HOME/.ssh/id_dsa
cat $HOME/.ssh/id_dsa.pub > $HOME/.ssh/authorized_keys
chmod 600 $HOME/.ssh/authorized_keys
但是,如果我之前删除了dsa-keys:
su user1
rm -f ~/.ssh/{id_dsa*,authorized*}
ssh-keygen -t dsa -P '' -f $HOME/.ssh/id_dsa
cat $HOME/.ssh/id_dsa.pub > $HOME/.ssh/authorized_keys
chmod 600 $HOME/.ssh/authorized_keys
我可以用
ssh localhost
没有问题。
另外,如果我手动运行script1和script2,则可以成功使用ssh。
我做错了什么?
我也检查了$ HOME / .ssh中所有文件的权限
drwxr-xr-x. 2 user1 root 4096 Apr 17 11:44 .
drwx------. 5 user1 user1 4096 Apr 17 11:41 ..
-rw-------. 1 user1 user1 604 Apr 17 11:44 authorized_keys
-rw-------. 1 user1 user1 672 Apr 17 11:44 id_dsa
-rw-r--r--. 1 uesr1 user1 604 Apr 17 11:44 id_dsa.pub
-rw-------. 1 user1 user1 884 Apr 17 11:44 known_hosts
-rw-------. 1 user1 user1 884 Apr 17 11:44 known_hosts.old
更新:
cat /var/logs/messages | grep ssh
Apr 17 12:29:15 tivoli kernel: type=1400 audit(1429262955.308:57): avc: denied { read } for pid=9711 comm="sshd" name="authorized_keys" dev=dm-0 ino=1187196 scontext=system_u:system_r:sshd_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:user_home_dir_t:s0 tclass=file
但是许可仍然
-rw-------. 1 user1 user1 604 Apr 17 11:44 authorized_keys
Update2 :
还有助于仅删除authorized_keys并重新创建它:
rm -f $HOME/.ssh/authorized_keys
cat $HOME/.ssh/id_dsa.pub >> $HOME/.ssh/authorized_keys
最佳答案
通过在创建用户后添加跟随行来解决:
mkdir /home/user1/.ssh
restorecon -R -v /home/user1/.ssh
现在script1看起来像这样:
groupadd user1
adduser -g user1 -c "sshuser" user1 >/dev/null
mkdir /home/user1/.ssh
restorecon -R -v /home/user1/.ssh
关于linux - 通过不带密码的ssh连接(rpm安装),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29694868/
10-16 20:22