win电脑:
生产一对公钥与私钥,私钥在win,公钥pub在服务器
ssh-keygen
服务器复制私钥和ssh配置
1.root用户进入服务器
cd ~/.ssh
复制win电脑上的~/.ssh/id_rsa.pu到服务器/root/.ssh/目录下。
cat id_rsa.pub >> authorized_keys
2.更改文件权限:
sudo chmod 600 authorized_keys
sudo chmod 700 ~/.ssh
- 打开SSH配置文件:
nano /etc/ssh/sshd_config
,确认下面两项配置:
RSAAuthentication yes
PubkeyAuthentication yes
4.重启ssh: systemctl restart sshd.service
。确保ssh重启成功。
win电脑:
在VSCode远程资源管理器-SSH Targets的config文件中添加私钥的信息:
IdentityFile C:\Users\Sam\.ssh\id_rsa
#注意路径正确及反斜杠。路径是没有引号。
如果有多对密钥对的话,id_rsa_31,id_rsa_32等,pub公钥放在服务器上。
以上是在服务器的root用户建立免密ssh登录的配置过程。
以下是docker容器内的python环境的免密登录的配置过程。
进入docker容器的python环境。
docker exec -it python /bin/bash
cd ~/.ssh && ssh-keygen
cat id_rsa.pub >> authorized_keys
chmod 600 authorized_keys && chmod 700 ~/.ssh
nano /etc/ssh/sshd_config
/etc/init.d/ssh restart
nano isa_rsa
#打开后复制内容到win电脑的C:\Users\Sam.ssh\id_rsa_33
exit
docker的容器的公钥要放在各自容器里。
Docker的python的ssh的22端口已经映射为8010,所以要加入port:8010
Host docker.python
HostName ip_address
User root
Port 8010
IdentityFile C:\Users\Sam\.ssh\id_rsa_33