在ssh会话期间获取本地用户

时间:2015-01-09 21:04:00

标签: shell unix aix

是否可以在远程主机上显示本地用户? 例如:

local_user@ownpc$ ssh remote_user@server

然后

echo $some_variable_containing_local_user

导致local_user

目的:我对UNIX服务器有非常有限的读访问权限,我希望通过当前的ssh会话从远程执行scp到本地。无论谁登录,都可以通过shell脚本执行。(无需任何其他安装或本地变量修改)

Ps。:我正在寻找scp ssh:user@host/folder/file /home/user/folder

谢谢!

2 个答案:

答案 0 :(得分:0)

使用不带引号的here-doc允许在将命令传递给ssh

之前扩展局部变量
local_user@ownpc$ ssh remote_user@server <<END
echo you are $USER
END

应输出

you are local_user

这可以为您提供在here-doc中编写远程操作脚本的基础。

答案 1 :(得分:0)

我不是100%清楚你的情况,但这两种方法对我都有用:

ssh remote_user@remote_host whoami

ssh remote_user@remote_host 'echo $USER'

第一个在远程主机上执行“whoami”,而第二个在远程shell中回显$ USER设置的内容。我对第二个工作有点惊讶,因为经常ssh远程执行不会启动shell但它似乎无论如何都可以工作。