Home git Why do I need ssh when working with git?

Why do I need ssh when working with git?

Author

Date

Category

When I just started working with Git, I immediately generated the keys to github. Time passed, and I absolutely do not understand why they need. In bitbucket I do not have any keys, but I can create a repository, cloning it and successfully fasten without SSH. Or do Pull Recludes.

Everywhere explains this from the position of working with the server, but here I am not a difference. On LAN I do PUSH. Everything flocks on BitBuckET. Making Pull on my instance in Do. What is wrong?


Answer 1, Authority 100%

Look in PROGIT :

Git can work with four network data transfer: local, ssh, “your” Git and HTTP protocol [s].

The basic protocol is Local Protocol, when using a remote repository is considered simply a catalog on the disk. Not suitable for remote access via the network, not counting special cases using network file systems (NFS, CIFS, ETC.)

Probably the most frequently used transport protocol is ssh. The reason is that SSH access is usually already configured in most environments. In addition, SSH is the only one from the network protocols that provides access to reading and write. Two other network protocols (HTTP [S] and Git) are only available for reading, so even if they are available to you, you will still need SSH to record. In addition, SSH is a protocol with authentication and code encryption “out of the box.” The lack of SSH is that using it, you cannot provide anonymous access to the repository.

Another option is “your” Git protocol. With the Git’om, a special demon comes, which listens to port 9418 and provides a service similar to the SSH protocol, but absolutely without authentication. To use the Git protocol for the repository, you must create a Git-Daemon-Export-OK file, otherwise the daemon will not work with this repository, but it should be remembered that there are no security tools in the protocol. Accordingly, any repository in the git can be either available for cloning to everyone or is not available to anyone. As a result, you can usually not send changes to this protocol. It is possible to technically open access to record, but due to the lack of authorization in this case anyone, knowing the URL of your project, will be able to change it. In short, it is rarely used.

and last option – http [s]. Charm HTTP protocols and HTTPS in ease of their settings. In fact, everything that needs to be done is to place a naked repository inside the directory with HTTP documents, set the configurer post-update and that’s it. The reverse side of the use of the HTTP protocol is its relatively low efficiency for the client. Usually, cloning or retrieving changes from the repository when using HTTP is much longer, and the amount of data and the load on the network is much more than any other network protocol.

TOTAL: Access to the remote repository by SSH is the most common option for setting up remote access, fast, convenient and secure. configuring authorization in SSH on the keys, you will be delivered from the need to enter passwords to access the repository , keeping, however, an acceptable level of security.

author, and you are sure that you have “everything fired” not with ssh now?

Programmers, Start Your Engines!

Why spend time searching for the correct question and then entering your answer when you can find it in a second? That's what CompuTicket is all about! Here you'll find thousands of questions and answers from hundreds of computer languages.

Recent questions