SSH ControlMaster功能

ssh 的ControlMaster实现不用每次ssh都输入密码

1、参数说明

要启用 SSH 连接复用功能,您可以按照以下步骤操作:
编辑 SSH 客户端配置文件:
打开或创建 SSH 客户端配置文件 ~/.ssh/config(Linux 和 macOS 系统)或 %USERPROFILE%.ssh\config(Windows 系统)。
在配置文件中添加以下内容:
在配置文件中添加以下内容来启用连接复用:

Host *
  ControlMaster auto
  ControlPath ~/.ssh/master-%r@%h:%p
  ControlPersist 600

Host *:这表示对所有主机应用这些配置,您也可以针对特定主机或主机模式应用这些配置。
ControlMaster auto:启用连接复用。
ControlPath ~/.ssh/master-%r@%h:%p:定义保存主连接的路径和文件名模式。%r 表示远程用户名,%h 表示远程主机名,%p 表示远程端口号。这将在 ~/.ssh/ 目录下创建一个名为 master-username@hostname:port 的文件,用于保存主连接信息。
ControlPersist 600:定义持续时间(以秒为单位),即在连接关闭后继续保持主连接的时间。在此示例中,连接将在最后一个会话结束后持续 600 秒(10 分钟),以便在此期间可以重用该连接。
链接:https://www.jianshu.com/p/1554e9afb86e

注意ControlPath参数:
ControlPath ~/.ssh/controlmasters/%r@%h:%p (.ssh后面不能有不存在的目录)
改正:ControlPath ~/.ssh/controlmasters-%r@%h:%p 

2、设置方式

#方式一:
Host *
	ControlPath ~/.ssh/test%r@%h:%p
	ControlMaster auto
	ControlPersist yes
Host kc
	HostName newrelay.com
	User caizhao


#方式二:
Host *
	User caizhao
	ControlMaster auto

Host kc
	HostName newrelay.com
	ControlPath ~/.ssh/master-%r@%h:%p.socket
	ControlPersist yes 
	ForwardX11 yes
	ServerAliveInterval 300 


#方式三:
Host cedar
    ControlPath ~/.ssh/cm-%r@%h:%p
    ControlMaster auto
    ControlPersist 10m
    HostName newrelay.com
    User caizhao

3、Window系统不支持

window系统暂不支持ControlMaster ,要使用安装WLS的Linux系统来支持
getsockname failed: Not a socket

安装
参考:https://learn.microsoft.com/zh-cn/windows/wsl/setup/environment

wsl --install

电脑终端配置wsl
使用 .wslconfig 为 WSL 上运行的所有已安装的发行版配置全局设置。
参考:https://learn.microsoft.com/zh-cn/windows/wsl/enterprise
vim ~/.wslconfig

[experimental]
autoMemoryReclaim=gradual  # gradual  | dropcache | disabled
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

Linux终端中配置网络
配置DNS

sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
sudo bash -c 'echo "[network]" > /etc/wsl.conf'
sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'
sudo chattr +i /etc/resolv.conf

设置代理:

#IP为window的IP地址,ipconfig查看
export ALL_PROXY="http://172.19.80.1:7890"

安装ssh

sudo apt update && sudo apt upgrade
sudo apt install openssh-client
sudo apt install openssh-server

shh配置(Ubuntu)

1、ssh服务端配置(服务)
#vim /etc/ssh/sshd_config
Port 2222
ListenAddress 0.0.0.0
PermitRootLogin yes
StrictModes yes
PasswordAuthentication yes
# 配置完需要重启服务:sudo systemctl restart sshd.service

2、ssh客户端配置(客户)
#vim ~/.ssh/config
#方式一:
Host *
	ControlPath ~/.ssh/test%r@%h:%p
	ControlMaster auto
	ControlPersist yes
Host kc
	HostName newrelay.com(你要连接地址)
	User caizhao (你的用户名)

修改Wsl为root登录,并修改root密码

 ubuntu config --default-user root

相关推荐

  1. PathManager功能

    2024-04-28 17:46:02       56 阅读
  2. flutter 功能

    2024-04-28 17:46:02       47 阅读
  3. redis实现排行榜功能

    2024-04-28 17:46:02       66 阅读
  4. 断点续传功能

    2024-04-28 17:46:02       64 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-28 17:46:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-28 17:46:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-04-28 17:46:02       82 阅读
  4. Python语言-面向对象

    2024-04-28 17:46:02       91 阅读

热门阅读

  1. 在ubuntu20上编译bcc时遇到:Could NOT find LibDebuginfod

    2024-04-28 17:46:02       36 阅读
  2. mysql数据库开发军规

    2024-04-28 17:46:02       27 阅读
  3. 朱元璋逆袭史:从流浪行僧到大明雄主

    2024-04-28 17:46:02       33 阅读
  4. Nest.js项目初始配置

    2024-04-28 17:46:02       36 阅读
  5. Redis(四) 主从、哨兵、集群环境搭建

    2024-04-28 17:46:02       29 阅读
  6. 【spring mvc】配置请求到视图名称转换器

    2024-04-28 17:46:02       27 阅读
  7. 机器学习之K-medians聚类

    2024-04-28 17:46:02       28 阅读
  8. [LLM]大模型训练DeepSpeed(三)

    2024-04-28 17:46:02       27 阅读