ssh 免密登录

一、配置 ssh

1、安装 ssh
yum install -y openssl openssh-server
yum -y install openssh-clients
2、修改 ssh 配置文件
vi /etc/ssh/sshd_config
RSAAuthentication yes #启用 RSA 认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径(和上面生成的文件同)
PermitRootLogin yes #root能使用ssh登录
3、启动 sshd 服务

使用下面命令,避免在 docker 容器里使用 systemctl 命令报错

docker run -tid --name centos_1 --privileged=true centos:latest /sbin/init
systemctl status

● 31d2c8e4437a
State: degraded
系统可控,但是存在失败单元。

systemctl start sshd
systemctl enable sshd
4、修改远程容器密码

修改root密码

yum install -y passwd
passwd root
5、密码登录
ssh 172.17.0.3

ssh 登录时不指定用户,将默认以当前本机相同用户名登录远程

二、免密登录

客户端 centos1:172.17.0.2
服务端 centos2:172.17.0.3

1、客户端生成公私钥匙

若已经生成,则不必重复生成。

ssh-keygen
ssh-keygen -t rsa        # 指定类型
ssh-keygen help
ls /root/.ssh/           
id_rsa	id_rsa.pub
2、传递公钥到服务端

(1)方法一:单独拷贝 id_rsa.pub 文件到服务端命名为 authorized_keys。
注意除了 u 用户,服务端 .ssh 目录和 authorized_keys 文件的 g 和 o 用用户都不能有写权限,否则登录仍然需要密码,可执行如下权限操作处理

chmod 700 /root/.ssh && chmod 600 /root/.ssh/authorized_keys
或者
chmod go-w -R /root/.ssh

(2)方法二:使用命令 ssh-copy-id 172.17.0.3 传递公钥,需要输入一次服务端用户密码。

查看客户端

ls /root/.ssh/
id_rsa	id_rsa.pub  known_hosts

查看服务端,可以发现自动增加了 authorized_keys 文件

ls /root/.ssh/
authorized_keys
3、免密登录
ssh 172.17.0.3
4、别名登录

别名代替ip,客户端新建 root/.ssh/config 文件,内容为

centos2
	HostName	172.17.0.3
	Port		22
	User		root
	IdentityFile	~/.ssh/id_rsa
ssh centos2
5、指定私钥文件登录

对于私钥文件名不是 id_rsa 的,如为 id_rsa_copy 可以使用 -i 参数指定私钥名称

ssh -i ~/.ssh/id_rsa_copy root@172.17.0.3

参考地址:https://blog.csdn.net/xoofly/article/details/99770357

三、公私钥与登录原理

1、公私钥
公钥:相当于一把锁,要送给登录目标
私钥:相当于一把钥匙,自我持有

典型的非对称加密算法:RSA
非对称算法有一对密钥,对称算法只有一把密钥

公私钥成对存在
公钥加密的文件,只能有私钥来解密;
私钥加密的文件,只能有公钥来解密。
在这里插入图片描述

2、登录原理
(1)客户端登录服务端
(2)服务端发送一个字符串
(3)客户端加密字符串,返回给服务端
(4)服务端用公钥解密返回的字符串等到新串,比对原串与新串,一样则可登录

四、多级互相访问配置

在单个机器上生成秘钥和授权秘钥,然后分发给其他机器,即可实现相互免密访问。

1、生成密钥

ssh-keygen  -t  rsa  # 生成密钥对
cat  ~/.ssh/id_rsa  >>  ~/.ssh/authorized_keys  # 生成授权秘钥

2、分发秘钥

scp  ~/.ssh/id_rsa  172.17.0.3:~/.ssh/id_rsa
scp  ~/.ssh/id_rsa_pub  172.17.0.3:~/.ssh/id_rsa_pub
scp  ~/.ssh/authorized_keys  172.17.0.3:~/.ssh/authorized_keys
或者
scp -r  ~/.ssh  172.17.0.3:~/.ssh
 

五、调试

ssh 172.17.0.3 -vvv
vi /var/log/secure

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值