免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 9267 | 回复: 22
打印 上一主题 下一主题

只允许SSH连接,不允许登录SHELL的用户,如何在连接后执行指定命令? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-01-15 17:59 |只看该作者 |倒序浏览
本帖最后由 consatan 于 2012-01-15 17:59 编辑

useradd -lMNg sshonly -s /usr/sbin/nologin sshuser1

现在想让SSH客户端连接的时候执行 /usr/local/bin/xxx.sh
该如何设置呢??

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
2 [报告]
发表于 2012-01-15 21:31 |只看该作者
如果不能登录SHELL,又怎么连接SSH呢?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2012-01-16 01:23 |只看该作者
这需求根本就没法实现。

论坛徽章:
0
4 [报告]
发表于 2012-01-16 15:44 |只看该作者
本帖最后由 可可火山 于 2012-01-16 15:46 编辑

回复 1# consatan


用户shell不能为nologin或者false,因为跑命令还是需要登录的。
把该用户密码清空,
sshd_config中默认应该不能空密码登录,这样这个帐号只能密钥登录。
在ssh的公钥中的command选项执行执行的命令。(为了安全还可以加from=来限定能登录的机器)
客户端密钥登录连上后自动执行命令并自动断开。
  1. [root@centos ~ (0)]# useradd sshuser1
  2. [root@centos ~ (0)]# passwd -d sshuser1
  3. Removing password for user sshuser1.
  4. passwd: Success
  5. [root@centos ~ (0)]# passwd -S sshuser1
  6. sshuser1 NP 2012-01-16 0 99999 7 -1 (Empty password.)
  7. [root@centos ~ (0)]# grep sshuser1 /etc/passwd
  8. sshuser1:x:503:505::/home/sshuser1:/bin/bash
  9. [root@centos ~ (0)]# cat ~sshuser1/.ssh/authorized_keys
  10. command="/tmp/hello.sh" ssh-dss AAAAB3NzaC1kc3MAAACBAKVI6Ug4AqipgyerkGSEEOZw2cnzZyZGuRvOEPV7t7HCSqROdR+xPXXiPM/FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0J50rWT82niYpJH2NIOiZxXrsBU3AR/hddFNXa95pBFyY9WjeppWqdsBSLOK9JrVlOcMrttVJE3MIhod87Q8PdxjDxhst9Q== user@centos.org
  11. [root@centos ~ (0)]# cat /tmp/hello.sh
  12. #!/bin/bash
  13. echo "sshuser command run at " `date` >> /tmp/sshuser.log


  14. [user@centos ~ (0)]$ ssh sshuser1@localhost
  15. Connection to localhost closed.
  16. [user@centos tmp (0)]$ cat sshuser.log
  17. sshuser command run at  Mon Jan 16 15:39:53 CST 2012
复制代码

论坛徽章:
4
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:192015年迎新春徽章
日期:2015-03-04 09:57:09
5 [报告]
发表于 2012-01-16 16:56 |只看该作者
没有shell怎么执行命令?

论坛徽章:
0
6 [报告]
发表于 2012-01-16 23:53 |只看该作者
不可以shell ssh上去干嘛

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
7 [报告]
发表于 2012-01-17 08:00 |只看该作者
用户的shell是nologin,根本就登陆不了系统的,更不用说使用命令了.

论坛徽章:
0
8 [报告]
发表于 2012-01-17 08:46 |只看该作者
脚本的执行依赖shell的,就好比运行python 需要有python的运行权限一样。

论坛徽章:
5
寅虎
日期:2015-01-20 09:16:52亥猪
日期:2015-01-21 14:43:44IT运维版块每日发帖之星
日期:2015-12-17 06:20:00每日论坛发贴之星
日期:2015-12-17 06:20:00每周论坛发贴之星
日期:2015-12-20 22:22:00
9 [报告]
发表于 2012-01-17 12:59 |只看该作者
楼主的需求是用户登录后就只能执行一个命令然后自动退出??

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
10 [报告]
发表于 2012-01-17 22:21 |只看该作者
回复 9# gamester88


    他是不允许登录,而又要执行命令。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP