【ssh】ssh免密登录配置【docker】

ssh登录

1.基本用法

ssh user@hostname
  • user:用户名
  • hostname:云服务器的IP地址或者域名

第一次登录会提示:
The authenticity of host '123.57.47.211 (123.57.47.211)' can't be established. ECDSA key fingerprint is SHA256:iy237yysfCe013/l+kpDGfEG9xxHxm0dnxnAbJTPpG8. Are you sure you want to continue connecting (yes/no/[fingerprint])?

输入yes,然后回车即可。

这样会将该服务器的信息记录在~/.ssh/known_hosts文件中

最后输入密码即可登录到远程服务器。

  • 默认端口为22
  • 如果想登录某特定端口
    ssh user@hostname -p 22

2.配置别名

每次登录都需要输入云服务器的IP,一般不会记住,并且很麻烦。
可以在本地存储该IP并设置别名:

  • 创建文件~/.ssh/config
    • 1.先创建.ssh文件夹:mkdir .ssh
    • 2.进入.ssh文件夹创建config文件:cd .ssh, touch config
    • 3.进入config文件配置别名:
    • 4.保存并退出:esc + :wq
Host myserver1
    HostName IP地址或域名
    User 用户名

Host myserver2
    HostName IP地址或域名
    User 用户名

之后再使用服务器时,可以直接使用别名myserver1、myserver2:
比如:
ssh myserver1:然后输入密码即可。

3.配置免密登录

  • 1.创建密钥:
ssh-keygen

然后一直回车即可。
执行结束之后,~/.ssh/目录下会多两个文件:
* id_rsa:私钥
* id_rsa.pub: 公钥

之后想免密码登录哪个服务器,就将公钥传给哪个服务器即可。

例如,想免密登录myserver服务器。则将公钥中的内容,复制到myserver中的~/.ssh/authorized_keys文件里即可:

  • 1.ssh myserver,然后输入密码登录到云服务器中
  • 2.检查有没有.ssh文件夹,没有的话则创建。
  • 3.在.ssh文件夹下,创建authorized_keys文件,将之前的id_rsa.pub里面的内容复制到authorized_keys文件
    (可以在原先的比如gitbash的.ssh目录下执行: cat id_rsa.pub,然后选中公钥内容,按下ctrl+insert键复制,然后通过shift+insert键黏贴到云服务器下authorized_keys文件中)

也可以使用如下命令一键添加公钥:

ssh-copy-id myserver

server是在config文件内配置的别名


下次需要登录云服务器就只需要:

ssh server

就能直接连上了。

4.docker内的ssh登录

  • 1.登录云服务器:
    配置完免密登录即可直接ssh server
  • 2.创建并启动docker容器:
docker load -i docker_lesson_1_0.tar  # 将镜像加载到本地
docker run -p 20000:22 --name my_docker_server -itd docker_lesson:1.0  # 创建并运行docker_lesson:1.0镜像

假设docker容器名为:my_docker_server,进入容器内

docker attach my_docker_server
passwd # 设置root密码
  • 3.云服务器的云平台控制台修改安全组配置,放行端口20000
ssh root@xxx.xxx.xxx.xxx -p 20000  # 将xxx.xxx.xxx.xxx替换成自己租的服务器的IP地址
  • 4.创建工作账户,防止直接在root环境下开发(root权限较大)
  • 5.配置免密登录:
    • 1.在~/.ssh/config中添加:
Host my_docker_server
	HostName IP地址或域名
    User 用户名 
    Port 20000

然后再执行:

ssh-copy-id my_docer_server

这样就给云服务器里面的docker容器的指定用户也配置好了免密登录,这样只需要通过:

ssh my_docker_server

就能直接进入到docker容器内开始开发了,省事又省力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值