We consider the use of physical-layer security in a wireless communication system where multiple jamming nodes assist multiple source-destination nodes in combating unwanted eavesdropping from a single eavesdropper. In particular, we propose a distributed algorithm that matches each source-destination pair with a particular jammer. Our algorithm caters for three channel state information (CSI) assumptions: global CSI, local CSI, and local CSI without the eavesdropper channel. We prove that our algorithm has many desirable properties. First, the outcome of the proposed algorithm results in a stable matching, which is important if the source and jamming nodes are selfish. Second, the secrecy rate of the proposed algorithm converges to the secrecy rate of a centralized optimal solution, if the price step-number is sufficiently small. Third, our algorithm converges only after a small number of iterations, and its overhead is relatively small. Fourth, our algorithm has a significantly lower complexity than a centralized optimal approach.