首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在ssh登录到提示符后创建一个文件

在ssh登录到提示符后创建一个文件
EN

Unix & Linux用户
提问于 2020-08-15 21:47:59
回答 2查看 1.3K关注 0票数 3

一个线性问题:在通过bastion主机通过SSH登录后,如何在远程主机上自动获取远程文件?

在ssh-ing之后,我需要在远程主机上找到一个包含别名+ shell用户定义函数列表的文件。

该文件存在于/tmp文件夹(例如/tmp/my-rc )中的远程加工中。

搜索我找到的其他帖子和互联网

代码语言:javascript
运行
复制
ssh -t user@domain.com 'source /tmp/my-rc; bash -l'

问题是我确实得到了一个终端,但是没有设置任何别名,因为它是一个新的bash‘

考虑到源代码应该是在附加shell之后完成的,尝试了下面的操作,但这也不起作用。没有错误,我得到了终端,但不认为文件是来源的(通过回显/tmp/my-rc文件中的虚拟消息来验证)

代码语言:javascript
运行
复制
ssh -t user@domain.com 'bash -l; source /tmp/my-rc'

甚至试着用“。”而不是来源,没有运气。

任何帮助。

Note1: Bash或ZSH任何外壳解决方案都可以。

Note2:实际的ssh是通过一个代理命令,即跳过堡垒主机(只是提到如果它是相关的)

Note3:我在远程主机上没有配置文件rc或bashrc的特权,甚至没有主目录的特权。

Note4:我登录到安全主机的确切命令是通过bastion主机登录的,如下所示

代码语言:javascript
运行
复制
ssh -o ProxyCommand='ssh -W %h:%p ec2-3-218-12-120.compute-1.amazonaws.com' 10.0.31.122  
EN

回答 2

Unix & Linux用户

发布于 2020-09-04 12:40:46

如果在远程主机的UsePAM文件中将sshd_config设置为yes,那么配置文件/etc/pan.d/sshd允许您在成功登录时自动执行命令,以及身份验证过程中的其他事件。添加这一行代码

代码语言:javascript
运行
复制
session    required     pam_exec.so /etc/myscripts/./sourcing-script

在这些线的正上方

代码语言:javascript
运行
复制
# SELinux needs to intervene at login time to ensure that the process starts
# in the proper default security context.  Only sessions which are intended
# to run in the user's context should be run after this.
session [success=ok ignore=ignore module_unknown=ignore default=bad]        pam_selinux.so open

其中/etc/myscript/sourcing script只是远程主机上的一个文件,命令在成功登录时执行。

代码语言:javascript
运行
复制
#!/bin/bash
source /tmp/my-rc
#echo $(date) >> /etc/myscripts/sourcing-script.log
#cat /tmp/my-rc >> /etc/myscripts/sourcing-script.log

在打开ssh会话之前,我使用此方法停止服务并将其报告给日志文件。在注销之前,我设置了一个crontab来启动服务,这样它就不会与我的ssh会话并行运行。

票数 1
EN

Unix & Linux用户

发布于 2020-08-16 06:40:28

通常在$HOME/.profile或变体中这样做。

ssh设置以SSH_开头的环境变量,您可以使用这些变量来确定您是通过ssh登录,还是直接登录。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/604693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档