【发布时间】:2024-01-06 01:57:01
【问题描述】:
我在本地机器上运行这个命令:
ssh -tt -i "pem.pem" ec2-user@ec2-IPADDRESS.compute-1.amazonaws.com "sudo su -c 'cd /dir/;npm install pm2'"
它连接,以超级用户身份运行,cds 到 dir 并尝试运行命令,但返回 npm 不是系统识别的命令。
但是,当我“手动”连接时,即
ssh -i "pem.pem" ec2-user@ec2-IPADDRESS.compute-1.amazonaws.com
sudo su
cd /dir
npm install pm2
它有效。
npm安装在root下,系统可以看到。
ssh -tt -i "pem.pem" ec2-user@ec2-IPADDRESS.compute-1.amazonaws.com "sudo su -c 'cd /dir/;whoami'"
和
ssh -i "pem.pem" ec2-user@ec2-IPADDRESS.compute-1.amazonaws.com
sudo su
cd /dir
whoami
都返回“root”
为什么在 ssh 上运行时找不到 npm 命令?
【问题讨论】:
标签: linux amazon-ec2 ssh sh