4

Eh, here is my problem: I am working in a webdevelopment agency (thats a problem but not the real problem, read on). Most of the time I choose the live server myself when creating a new website project. But now the customer already has a "server" (10 GB on a cheapo host!) and the "admin" refuses to give me ssh access to it. But I need to access the server via shell because many files will be transported (need to be able to upload and extract a tar) and I need to insert or create mysql dumps via command line. He argues FTP and phpmyadmin should be enough... as far as I know the webspace was just ordered to host the website, so no security critical apps are running there.

How can I either convince the admin to give me the ssh login or tell management that we need our own server? Anyone with similiar experiences?

This is really annoying as this is a very small project that should be done fast and now one has to fight in order to just get the work done...

3
  • 1
    Make a business case. Tell management that it's going to cost money to do things their way, and if they won't relent, build the cost into the requirements. Jan 20, 2010 at 23:55
  • So... why isn't FTP and PhpMyAdmin enough? If there are many files, surely you can set them up to transfer overnight. Aug 18, 2011 at 14:17
  • @Tomalak this is a rather old question and I was quite angry that day… finally I was able to sort it out, best to talk with the people, then a lot is possible. So – knock it off, thanks. ;-)
    – BMBM
    Aug 18, 2011 at 14:59

7 Answers 7

8

This will make the admin angry and you happy :): php shell

15
  • 3
    The thing is: Being sneaky is not the way to go about running a business or performing consulting work. If I were the customer and I found out that you circumvented my security, controls, or stipulations I would fire you immediately and hire a lawyer post-haste.
    – joeqwerty
    Jan 20, 2010 at 20:57
  • 4
    I find it very offensive that someone on a sysadmin site encourages others to circumvent systems put in place by admins. Jan 20, 2010 at 21:13
  • 6
    +1 - One thing I like most about this site is the sharing of knowledge... Without this comment I may have never discovered php shell, nor it's usefulness. That being said, I also agree that the described company would likely fire you if they discovered you had worked around their restrictions (assuming they were trying to restrict you instead of simply not understanding your needs)...
    – Dscoduc
    Jan 21, 2010 at 0:11
  • 4
    +1. It answers the question, and since there is no other information (ie, TOS, contracts, agreements, etc) then we cannot assume that this in any way breaches the established relationship between the two parties. The answer points out that it may not be a good idea, and that's as far as the answer needs to approach the ethics.
    – Adam Davis
    Jan 21, 2010 at 1:25
  • 4
    Wow, there were a lot of comments on this one. I suggested this as one solution, but also mentioned that it probably wasn't the right thing to do. Additionaly: If the security is set up properly, the PHP process should not have any special privileges, the only difference is (principally) that you can use an interactive shell instead of writing all your commands in PHP. That is why I find this type of restrictions unnecessary and unproductive. I can really feel with the OP on this one. Jan 29, 2010 at 16:08
5

If the customer doesn't wish to give you SSH access you should accept that. Perhaps they have a legitimate concern or requirement. Did your original contract or agreement mention the fact that you where expecting to have SSH access to the host?

You haven't mentioned anything that I can see that really requires you to have SSH access. I understand that you may be more comfortable doing it via SSH on the remote host, but there are alternatives methods. As a web developer should should work on being prepared to adapt to your customers requirements. Or at least you should agree on the access you will have require before you accept the job.

In your example you mention uncompressing an archive. You can do that on your local machine and transfer the uncompressed files. Find an ftp client that allows you to transfer an entire directory structure. There are many.

You mentioned you need to make changes to a mysql database. Simply hack up a script quickly that will perform the changes for you.

You need to communicate to your customer exactly what exactly needs to be done that you cannot do via file-transfer and phpadmin and have them do it. Charge them extra if you need to. If you where clear that you needed SSH access at the start, and they have not provided it, then you can probably charge them more for the additional time.

5

Just keep sending them detailed bills containing all the extra time you've had to spend working around their stupid requirements. If management won't back you, find another job.

1
  • 2
    +1 for bigger bills, -1 for "find another job" (easier said than done), but +1 cos I like giving out votes Jan 20, 2010 at 22:46
3

Your job is to do as the customer asks, within the framework provided by that customer. Don't like it? Get another customer or change jobs.

You say that it's a very small project, yet you carry on as if you were trying to transfer gigabytes of data. If it takes a little longer to transfer the files using FTP the so be it. I'm guessing we're talking about maybe a couple of minutes, not weeks. As for importing MySQL dumps using phpMyAdmin, what's the difficulty? It's actually easier than using the command line.

It sounds to me like you want absolute control of the system for no reason other than your personal satisfaction. You certainly haven't given an actual reason for wanting it.

1
2

Many of the "cheapo hosts" don't even offer shell access, and some require you to pay extra for SSH. It might be the case that the customer already knows the host doesn't offer SSH, or the customer just doesn't want to pay for it.

When my company tried using 1and1 for a small website a couple of years ago, we quickly ran into a brick wall when we tried debugging the website on the cheapest plan available. That plan didn't have SSH, so we had to pay for an upgrade. But even then, the site's performance was so inconsistent that we had to switch to another hosting company.

To me, it does sound like you technically can do everything you need without shell access. You can untar the files on your side and upload them in batch instead of uploading the tarfile and extracting the files on the other side. PHPMyAdmin does, indeed, allow you to execute scripts and perform database dumps. Maybe I'm missing the same point that the admin failed to catch. If so, then perhaps you just haven't completely articulated the real problem that's preventing you from getting the work done.

As Geoff Fritz suggested, you can always make another plea in terms they're more likely to understand: $$$. If the lack of shell access is slowing you down significantly, I'd suggest telling them up front how much extra time you're going to have to bill, as a result of the inconvenience. If you're doing this as a fixed-cost contract, then unfortunately I think you're going to have to either run out into the country and scream every couple of hours, or find some other way to convince the customer that you need shell access.

1

I like shell access as much as any admin, but the customer always knows best. Just bill your time, and if you take more time because not having shell access slows you down, then tell them that.

What is your specific requirement for it? Is is the convenience of doing stuff local on the web server, or are there legitimate risks of data going clear over the wire? Can you connect with a remote mysql client (in which case, uou can try using the SSL option), or is it bound to the server's localhost or otherwise non-routable interface? If sensitive data is a concern, you can set up a simple PHP-upload page and utilize HTTPS for your uploads.

Without more details, there's little to build a case in your favor.

2
  • 2
    Hmm, customer does not always know best. Our customer who virtualised their MSSQL server is now wishing that they had listened to us when we told them it was a bad idea. Jan 20, 2010 at 22:45
  • I think the key word is customer. We can choose to accept their business or not, and while we are obliged to offer our best professional advice, ultimately we get paid to do what they want to pay us to do. That the customers may choose to pay us to do what's against their own best interest is often no fault of our own. Jan 21, 2010 at 2:02
1

I can see both sides of this issue, but I have to err on the side of the customer. You may not agree with the customer and you may feel that your argument or method is technically superior, but he is in fact paying for your services, he is the boss, and he can tell you how to access his server and can limit your access to the method stipulated. It's up to you to provide the services you've contracted for while honoring his stipulations.

If I hire a plumber and I tell him that he has to take his shoes off in my house, then that's what he has to do whether he likes it or not. If he fights me on the issue then I'm going to fire him and hire someone else.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .