How to install ssh on docker centos

PHPz
Release: 2023-04-19 09:27:51
Original
1659 people have browsed it

Docker is a lightweight virtualization solution that provides a lightweight, portable container for running applications in different environments. The use of Docker has become more popular. In order to facilitate operation and maintenance, we need to connect the operating system in the container to the external network. This article will introduce how to install SSH in the Docker CentOS container.

1. Copy the ssh file

First you need to generate an ssh key pair on the local host. Open the terminal on the local host and enter the following command:

ssh-keygen -t rsa
Copy after login

Then you will see the following system prompt:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Copy after login

You need to pay attention to the following points here:

  1. Enter file In which to save the key, the file storage path and file name in this place can be modified as needed. If changed, the specific path needs to be specified in subsequent commands.
  2. Enter passphrase, enter the password here. If you plan to connect to the Docker container through SSH on the local host or elsewhere, you need to enter a default password. You can also not set it.

After the above operation is completed, you can find the SSH key pair as shown below in the user's home directory:

~/.ssh/id_rsa   // 私钥,需要保密
~/.ssh/id_rsa.pub  // 公钥,可以放心公开
Copy after login

Then we need to copy the public key to the inside of the Docker container, in Enter the following command in the terminal:

docker cp ~/.ssh/id_rsa.pub container_id:/
Copy after login

Note that container_id here: is your container ID.

2. Install the SSH package

After completing the key copy, we need to install the SSH package in the Docker container. Here we take CentOS 7 as an example. Enter the following command in the terminal:

docker exec -it container_id yum install -y openssh-server
Copy after login

After the installation is successful, you need to configure SSH.

3. Configure SSH

Enter the following command in the terminal to log in to the Docker container:

docker exec -it container_id /bin/bash
Copy after login

Then, execute the following command in the container to create the .ssh directory:

mkdir -p ~/.ssh
Copy after login

Then we copy the public key we just generated locally to the Docker container:

cat /id_rsa.pub >> ~/.ssh/authorized_keys
Copy after login

After the above operation is completed, you need to set the SSH configuration file in the container. Also execute the following command in the Docker container:

sed -i 's/PermitRootLogin without-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
Copy after login

The above command specifies the SSH login method of the root user to be able to log in directly, so that we can connect to the CentOS system in the Docker container through SSH.

4. Start the SSH service

After the above operations are completed, you need to start the SSH service in the Docker container. Enter the following command:

/usr/sbin/sshd
Copy after login

After the SSH service is started successfully, we will You can now connect to the CentOS system in the Docker container through the SSH tool.

Summary:

Through the above steps, we can easily install SSH in the Docker CentOS container and access the system in the container from the local host. This approach is very convenient and can help us perform more efficient operation and maintenance work.

The above is the detailed content of How to install ssh on docker centos. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template