https://issues.apache.org/bugzilla/show_bug.cgi?id=52554
Bug #: 52554
Summary: sshexec task: Add support for pseudo tty connections
Product: Ant
Version: unspecified
Platform: PC
Status: NEW
Severity: normal
Priority: P2
Component: Optional Tasks
AssignedTo: [email protected]
ReportedBy: [email protected]
Classification: Unclassified
When using ssh to execute remote scripts containing "sudo" you get the
following error if /etc/sudoers contains "Defaults requiretty".
sudo: sorry, you must have a tty to run sudo
The solution is to edit your sudoers file or add support for pseudo tty
allocation (this is the same as the ssh -t option in unix).
Adding support for pseudo tty connections is a minor change:
In SSHExec.java
private boolean tty = false;
public void setTty(boolean tty) {
this.tty = tty;
}
private void executeCommand(Session session, String cmd, StringBuffer sb)
...
final ChannelExec channel;
session.setTimeout((int) maxwait);
/* execute the command */
channel = (ChannelExec) session.openChannel("exec");
channel.setCommand(cmd);
channel.setOutputStream(tee);
channel.setExtOutputStream(tee);
if (istream != null) {
channel.setInputStream(istream);
}
+ channel.setPty(tty);
channel.connect();
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.