广告
返回顶部
首页 > 资讯 > 后端开发 > Python >docker ssh秘钥免密登录
  • 640
分享到

docker ssh秘钥免密登录

dockerssh秘钥免密 2023-01-31 08:01:05 640人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

有一台跳板机,已经实现了免密登录后端服务器。但是我写了一个Django项目,它是运行在容器中的,也需要免密登录后端服务器。虽然可以在容器中手动做一下免密登录,但是容器重启之后,之前做的设置都消失了。是否可以在生成新的djanGo镜像时,也能

有一台跳板机,已经实现了免密登录后端服务器。但是我写了一个Django项目,它是运行在容器中的,也需要免密登录后端服务器。

虽然可以在容器中手动做一下免密登录,但是容器重启之后,之前做的设置都消失了。

是否可以在生成新的djanGo镜像时,也能免密登录后端服务器呢?答案是可以的!

 

环境说明

跳板机

操作系统Centos 7.6

ip地址:192.168.28.229

 

后端主机

操作系统:centos 7.6

ip地址:192.168.28.218

 

制作Docker镜像

django_base目录结构如下:

./
├── dockerfile
├── id_rsa
│   ├── id_rsa
│   └── id_rsa.pub
├── pip.conf
├── requirements.txt
├── run.sh
└── sources.list



dockerfile

FROM ubuntu:16.04
# 修改更新源为阿里云
ADD sources.list /etc/apt/sources.list
ADD . /
# 时区为上海
ENV TZ Asia/Shanghai

# 设置时区,设置utf-8编码,安装django,添加任务计划
RUN apt-get update && apt-get install -y tzdata locales python3-pip cron openssh-server && apt-get clean all && \
    ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
    locale-gen en_US.UTF-8 && \
    mkdir ~/.pip && cp /pip.conf ~/.pip && pip3 install --upgrade pip && \
    pip3 install -r /requirements.txt && \
    mkdir ~/.ssh && cp -r /id_rsa/* ~/.ssh

# 解决中文乱码问题
#RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

# 添加启动脚本
ADD run.sh .
RUN chmod 755 run.sh
ENTRYPOINT [ "/run.sh"]

 

id_rsa文件夹里面的2个文件,就是跳板机的ssh秘钥,copy进来即可。

 

pip.conf

[global]
index-url = Http://pypi.douban.com/simple
trusted-host = pypi.douban.com

requirements.txt

Django==2.1.8
paramiko==2.7.1

run.sh

#!/bin/bash

# 收集主机公钥,写入known_hosts,避免出现Are you sure you want to continue connecting (yes/no)?
ssh-keyscan -H -t ecdsa -p 22 192.168.28.218 >> ~/.ssh/known_hosts

sources.list

# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://arcHive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse

 

生成镜像

cd django_base
docker build -t django_base:v1 .

运行镜像

docker run -it django_base:v1 /bin/bash

测试ssh免密

ssh 192.168.28.218

不需要输入密码,就表示成功了。


--结束END--

本文标题: docker ssh秘钥免密登录

本文链接: https://www.lsjlt.com/news/193669.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • docker ssh秘钥免密登录
    有一台跳板机,已经实现了免密登录后端服务器。但是我写了一个django项目,它是运行在容器中的,也需要免密登录后端服务器。虽然可以在容器中手动做一下免密登录,但是容器重启之后,之前做的设置都消失了。是否可以在生成新的django镜像时,也能...
    99+
    2023-01-31
    docker ssh 秘钥免密
  • 使用私钥登录 SSH 服务器(免密登录)
    SSH(Secure Shell)是一种用于远程登录和安全数据传输的协议。通过SSH,您可以在不安全的网络上安全地连接到远程服务器,并进行加密的数据传输。SSH支持多种身份验证方式,其中之一是使用SSH密钥对进行免密码登录。以下是使用私钥登...
    99+
    2023-12-23
    ssh 服务器 运维
  • Linux创建SSH密钥、设置密钥登录、密钥登录原理
    Linux有2种登录方式: 使用用户名加密码的登录方式;密钥登录; 密钥登录: SSH登录是用的RSA非对称加密的,SSH密钥登录的时候可使用RSA密钥登录,SSH有专门创建SSH密钥的...
    99+
    2023-09-03
    linux ssh 服务器
  • SSH 免密登录
    SSH 免密登录是指使用 SSH 协议连接远程主机时不需要输入密码就可以直接登录。要实现 SSH 免密登录,需要在本地主机上生成一对密钥(公钥和私钥),然后将公钥拷贝到远程主机上。 下面是具体步骤: 在本地主机上打开终端,运行以下命...
    99+
    2023-09-03
    ssh linux 服务器 运维 centos
  • VSCode——SSH免密登录
    文章目录 本地PC端(一般为Windows)1. 检查自己是否已经生成公钥2. 配置VScode的SSH config 远程服务器端1. 服务器新建授权文件2. 赋权限3. 重启远程服务...
    99+
    2023-09-07
    ssh vscode 服务器
  • ssh-keygen免密登录
    ssh-keygen免密登录ssh免密登录实验环境:centos6.5  [oracle@xuegod72 ~]$ ssh-keygen   生成密钥命令Generating publi...
    99+
    2022-10-18
  • VSCode如何使用ssh密钥免密远程登录服务器
    这篇文章主要为大家展示了“VSCode如何使用ssh密钥免密远程登录服务器”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“VSCode如何使用ssh密钥免密远程登录服务器”这篇文章吧。1. 使用s...
    99+
    2023-06-20
  • Ubuntu 设置 SSH 通过密钥登录
    Ubuntu 设置 SSH 通过密钥登录 我们一般使用 VSCode 、MobaXterm、PuTTY等 SSH 客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被暴力破...
    99+
    2023-10-18
    ubuntu ssh linux
  • VSCode使用ssh密钥免密远程登录服务器的方法
    目录1. 使用ssh密钥免密远程登录服务器2. 配置解释器1. 使用ssh密钥免密远程登录服务器 如果你还未曾成功远程登陆过服务器,下面这篇博客或许对你有帮助 如果你成功远程登陆过服...
    99+
    2022-11-12
  • ubuntu22.04 服务器 SSH 密钥登录失败
    ubuntu22.04 服务器 SSH 密钥登录失败 1. 背景介绍 SSH密钥登录,是将SSH公钥写入服务端的 ~/.ssh/authorized_keys文件中。 今天装了ubuntu22.04的系统,按照以往操作,在服务端配置了SSH...
    99+
    2023-08-22
    服务器 ssh linux
  • ssh怎么设置允许密钥登录
    这篇文章给大家分享的是有关ssh怎么设置允许密钥登录的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。我们一般使用 PuTTY 等 SSH 客户端来远程管理 Linux 服务器。但是,一般的密码方式登录,容易有密码被...
    99+
    2023-06-28
  • ubuntu使用秘钥登录
    生成SSH密钥对 ssh-keygen 该命令将提示您输入要在其中保存密钥对的文件名以及一个密码(如果需要)。默认情况下,它将在~/.ssh目录中生成密钥对。 将公钥添加到授权密钥文件 cat ~/.ssh/id_rsa.pub >> ~...
    99+
    2023-10-02
    ubuntu
  • Ubuntu开启SSH免密登录
    Ubuntu开启SSH免密登录 要实现SSH免密登录,首先需要准备一组公钥和私钥。将公钥放到服务器上,将私钥放到客户机上。当客户机连接服务器时,服务器会根据自身的公钥校验客户机的私钥,如...
    99+
    2023-09-14
    ubuntu ssh 服务器
  • 远程登录ssh免密码
    问题:假如我们现在有两台机器:ServerA和ServerB,现在想要让ServerA不用输入密码就能够进行访问。方法和原理:我们使用ssh-keygen在ServerA上生成private和public密...
    99+
    2022-10-18
  • Linux下如何实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本
    这篇文章主要介绍了Linux下如何实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。环境:ssh server: 1...
    99+
    2023-06-09
  • Linux下实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本分享
    环境: ssh server: 192.168.100.29 server.example.com ssh client: 192.168.100.30 client.example.com 通过roo...
    99+
    2022-06-04
    脚本 密码 Linux
  • centos6.5配置ssh免秘钥登陆执行pssh命令的讲解
    1.检查并安装pssh,yum list pssh 2.因为没有配置免秘钥登陆,pssh命令执行失败。 [root@bogon ]# pssh -H root@192.168.245.129 -i uptime [1...
    99+
    2022-06-04
    ssh免秘钥登陆执行pssh命令 centos6.5配置ssh免秘钥登陆执行pssh命令的讲解
  • 如何使用ssh公钥密钥登陆linux
    这篇文章主要介绍如何使用ssh公钥密钥登陆linux,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在我们平时使用Linux系统时候,通常使用的Linux SSH登录方式是用户名加密码的登录方式,今天来探讨另外的一种相...
    99+
    2023-06-28
  • Windows下使用SSH密钥实现免密登陆Linux服务器
    工具: win10、WinSCP 生成ssh密钥: 打开终端,使账号密码登录,输入命令 ssh-keygen -t rsa 会提示密钥存放路径,一般存放在默认路径,直接回车即可,中间会提示输入密码,这里需要注意,如果设置密码,则每次登陆的时...
    99+
    2023-09-01
    服务器 linux ssh
  • ssh远程免密登录服务器
    一、在本地生成密钥 ## 生成的私钥保存在".ssh/id_rsa", 公钥在".ssh/id_rsa.pub"ssh-keygen 二、在服务器创建相应文件 1、创建.ssh目录并设置权限 mkdir ~/.sshchmod 700 ~/...
    99+
    2023-09-12
    ssh
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作