Files
build_infra/0_笔记/ssh/ssh免密登录.md
T
2026-06-16 10:23:51 +08:00

7.8 KiB
Raw Blame History

免密登录配置

客户端使用私钥,服务端保存公钥

前置条件

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

远程调试

注意使用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.'