7.8 KiB
免密登录配置
客户端使用私钥,服务端保存公钥
前置条件
linux服务端
- 服务端(受控端)需要安装 sshserver
- 步骤:
- sudo apt install openssh-server
- sudo systemctl status ssh
windows服务端
- 设置 设置管理 可选功能 添加可选功能 下载ssh服务器,SSH 连接中,控制端(客户端)和 受控端(服务器)
- win + r services.msc
- 找到“OpenSSH SSH Server”服务。
- 右键点击服务,选择“启动”来启动SSH服务。
生成密钥(windows linux通用)
linux服务端配置 必须authorized_keys目录下
- 1、修改服务端配置文件: 修改三个位置 sudo nano /etc/ssh/sshd_config StrictModes no PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys/wyc_common_ed25519.pub .ssh/authorized_keys .ssh/authorized_keys2
- 2、重新启动服务: service sshd restart
- 3、写入公钥: 进入主目录 CTRL+H 显示隐藏文件 新建.ssh 进入打开终端 新建 authorized_keys 写入公钥
windows服务端配置
- 1、修改服务端配置文件: C:\ProgramData\ssh\sshd_config 确保以下3条没有被注释 PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no (需要将默认的yes改为no,很重要) 确保以下2条有注释掉 #Match Group administrators #AuthorizedKeysFile PROGRAMDATA/ssh/administrators_authorized_keys
- 2、重新启动服务: win+r service.msc
- 3、写入公钥: C:\Users${wyc}.ssh\authorized_keys 放置公钥
客户端配置(windows linux通用) 放入私钥
- ${用户目录下}/config 写入
Host jump-host
HostName 192.168.1.24
User wyc
Port 22
IdentityFile C:\Users\wyc\.ssh\private\id_rsa
Host target-host
HostName 192.168.1.166
User bright
Port 22
ProxyJump jump-host
-
参考资料
-
客户端config
-
使用最佳实践
-
目录使用 新建一个~/.ssh/private文件夹 所有的公钥私钥都放在这个文件夹下
-
每台设备生成自己的公钥私钥 并在自己的authorized_keys里放置自己的公钥 谁想连接他就把私钥给谁
远程调试
注意使用clion 远程调试功能时 target remote 指的是gdb客户端 到 gdb服务端的命令 需要后台起一个ssh转发流量功能 target remote 127.0.0.1:1234
开启ssh隧道示例
ssh -L 1234:127.0.0.1:1234 wyc@ubuntu_22_04_5
PS C:\Users\wyc> gcc -print-search-dirs install: C:/wyc/toolchain/aaa/bin/../lib/gcc/x86_64-wyc-linux-gnu/15.1.0/ programs: = C:/wyc/toolchain/aaa/libexec/gcc/x86_64-wyc-linux-gnu/15.1.0/; C:/wyc/toolchain/aaa/libexec/gcc/x86_64-linux-gnu/; C:/wyc/toolchain/aaa/libexec/gcc/; C:/wyc/toolchain/aaa/x86_64-wyc-linux-gnu/bin/x86_64-wyc-linux-gnu/15.1.0/; C:/wyc/toolchain/aaa/x86_64-wyc-linux-gnu/bin/x86_64-linux-gnu/; C:/wyc/toolchain/aaa/x86_64-wyc-linux-gnu/bin/ libraries: = C:/wyc/toolchain/aaa/lib/gcc/x86_64-wyc-linux-gnu/15.1.0/; C:/wyc/toolchain/aaa/lib/gcc/x86_64-linux-gnu/; C:/wyc/toolchain/aaa/lib/gcc/; C:/wyc/toolchain/aaa/x86_64-wyc-linux-gnu/lib/x86_64-wyc-linux-gnu/15.1.0/; C:/wyc/toolchain/aaa/x86_64-wyc-linux-gnu/lib/x86_64-linux-gnu/; C:/wyc/toolchain/aaa/x86_64-wyc-linux-gnu/lib64/; C:/wyc/toolchain/aaa/x86_64-wyc-linux-gnu/sysroot/lib/x86_64-wyc-linux-gnu/15.1.0/; C:/wyc/toolchain/aaa/x86_64-wyc-linux-gnu/sysroot/lib/x86_64-linux-gnu/; C:/wyc/toolchain/aaa/x86_64-wyc-linux-gnu/sysroot/lib64/; C:/wyc/toolchain/aaa/x86_64-wyc-linux-gnu/sysroot/usr/lib/x86_64-wyc-linux-gnu/15.1.0/; C:/wyc/toolchain/aaa/x86_64-wyc-linux-gnu/sysroot/usr/lib/x86_64-linux-gnu/; C:/wyc/toolchain/aaa/x86_64-wyc-linux-gnu/sysroot/usr/lib64/; C:/wyc/toolchain/aaa/x86_64-wyc-linux-gnu/lib/; C:/wyc/toolchain/aaa/x86_64-wyc-linux-gnu/sysroot/lib/; C:/wyc/toolchain/aaa/x86_64-wyc-linux-gnu/sysroot/usr/lib/
C:/wyc/toolchain/aaa/libexec/gcc/x86_64-wyc-linux-gnu/15.1.0/cc1.exe -quiet -v -imultiarch x86_64-linux-gnu -iprefix C:/wyc/toolchain/aaa/bin/../lib/gcc/x86_64-wyc-linux-gnu/15.1.0/ -isysroot C:/wyc/toolchain/aaa/bin/../x86_64-wyc-linux-gnu/sysroot .\CMakeCCompilerId.c -quiet -dumpdir c/wyc/CLionProjects/plantSunCat/build/ -dumpbase aaa.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o C:\Users\wyc\AppData\Local\Temp\ccyN8nIV.s
PS C:\wyc\CLionProjects\plantSunCat\build\windows_to_linux_toolchain\CMakeFiles\3.31.6\CompilerIdC> gcc -### -c .\CMakeCCompilerId.c -o aaa.o Using built-in specs. COLLECT_GCC=C:\wyc\toolchain\aaa\bin\gcc.exe Target: x86_64-wyc-linux-gnu Configured with: ../configure --prefix=/aenv/mingw_wyc_176_toolchain --with-gmp=/aenv/mingw_wyc_176_toolchain --with-mpfr=/aenv/mingw_wyc_176_toolchain --with-mpfr=/aenv/mingw_wyc_176_toolchain --enable-languages=c,c++ --with-pkgversion='wyc 2025.07-25-plant_sun_cat' --with-bugurl=1104749580@qq.com --without-isl --without-cloog --disable-libssp --disable-multilib --disable-bootstrap --enable-shared --build=x86_64-pc-linux-gnu --host=x86_64-w64-mingw32 --target=x86_64-wyc-linux-gnu /aenv/mingw_wyc_176_toolchain x86_64-pc-linux-gnu x86_64-w64-mingw32 x86_64-wyc-linux-gnu --with-sysroot=/aenv/mingw_wyc_176_toolchain/x86_64-wyc-linux-gnu/sysroot Thread model: posix Supported LTO compression algorithms: zlib gcc version 15.1.0 (wyc 2025.07-25-plant_sun_cat) COLLECT_GCC_OPTIONS='-c' '-o' 'aaa.o' '-mtune=generic' '-march=x86-64' "C:/wyc/toolchain/aaa/bin/../libexec/gcc/x86_64-wyc-linux-gnu/15.1.0/cc1.exe" -quiet -imultiarch x86_64-linux-gnu -iprefix "C:/wyc/toolchain/aaa/bin/../lib/gcc/x86_64-wyc-linux-gnu/15.1.0/" -isysroot "C:/wyc/toolchain/aaa/bin/../x86_64-wyc-linux-gnu/sysroot" ".\CMakeCCompilerId.c" -quiet -dumpbase aaa.c -dumpbase-ext .c "-mtune=generic" "-march=x86-64" -o "C:\Users\wyc\AppData\Local\Temp\cc7Ncwwb.s" COLLECT_GCC_OPTIONS='-c' '-o' 'aaa.o' '-mtune=generic' '-march=x86-64' "C:/wyc/toolchain/aaa/bin/../lib/gcc/x86_64-wyc-linux-gnu/15.1.0/../../../../x86_64-wyc-linux-gnu/bin/as.exe" --64 -o aaa.o "C:\Users\wyc\AppData\Local\Temp\cc7Ncwwb.s" COMPILER_PATH=C:/wyc/toolchain/aaa/bin/../libexec/gcc/x86_64-wyc-linux-gnu/15.1.0/;C:/wyc/toolchain/aaa/bin/../libexec/gcc/;C:/wyc/toolchain/aaa/bin/../lib/gcc/x86_64-wyc-linux-gnu/15.1.0/../../../../x86_64-wyc-linux-gnu/bin/ LIBRARY_PATH=C:/wyc/toolchain/aaa/bin/../lib/gcc/x86_64-wyc-linux-gnu/15.1.0/;C:/wyc/toolchain/aaa/bin/../lib/gcc/;C:/wyc/toolchain/aaa/bin/../lib/gcc/x86_64-wyc-linux-gnu/15.1.0/../../../../x86_64-wyc-linux-gnu/lib/../lib64/;C:/wyc/toolchain/aaa/bin/../x86_64-wyc-linux-gnu/sysroot/lib/x86_64-linux-gnu/;C:/wyc/toolchain/aaa/bin/../x86_64-wyc-linux-gnu/sysroot/lib/../lib64/;C:/wyc/toolchain/aaa/bin/../x86_64-wyc-linux-gnu/sysroot/usr/lib/x86_64-linux-gnu/;C:/wyc/toolchain/aaa/bin/../x86_64-wyc-linux-gnu/sysroot/usr/lib/../lib64/;C:/wyc/toolchain/aaa/bin/../lib/gcc/x86_64-wyc-linux-gnu/15.1.0/../../../../x86_64-wyc-linux-gnu/lib/;C:/wyc/toolchain/aaa/bin/../x86_64-wyc-linux-gnu/sysroot/lib/;C:/wyc/toolchain/aaa/bin/../x86_64-wyc-linux-gnu/sysroot/usr/lib/ COLLECT_GCC_OPTIONS='-c' '-o' 'aaa.o' '-mtune=generic' '-march=x86-64' '-dumpdir' 'aaa.'