【linux】windows terminal配置远程linux环境自动登录

目的

  • 通过windows terminal实现自动登陆云端linux机器。

方案一(推荐)

将客户端公钥放到服务器的授权文件中

  • 首先在windows上生成ssh密钥对,如果已经生成过了,可以跳过这步。可以通过查看C:\Users\{用户名}\.ssh目录下是否有id_rsa相关文件,来确认是否生成过。
    • cmd命令行执行ssh-keygen命令,一直回车即可。
  • 复制上一步生成的公钥,也就是C:\Users\{用户名}\.ssh目录下id_rsa.pub文件的内容。追加到linux服务器的~/.ssh/authorized_keys文件中。

登录并设置不要自动断开

  • 在windows命令行执行ssh {用户名}@{ip地址} -p {端口号},正常来说不需要输密码就能登录到服务器了。
  • 上面登录之后,如果长时间不操作,连接就会自动断开。为了防止自动断开,我们可以在windows上的ssh配置文件C:\Users\{用户名}\.ssh\config中增加如下心跳配置:
Host *
  ServerAliveInterval 40

使用windows terminal自动登录

  • windows terminal的详细配置放法见方案二。我们只需要将配置文件命令行设置为ssh {用户名}@{ip地址} -p {端口号}即可,如下
    在这里插入图片描述

方案二

  • 需要windows安装了wsl
  • wsl安装了expect
  • 将如下内容,保存为"autossh.ssh",放在wsl的路径下/home/wuchw/private/autossh.sh

    注意里面的wuchengwen 192.168.1.1 及22改成自己的账户、IP及端口号

  • 给予可执行权限chmod +x autossh.sh
#!/usr/bin/expect -f

spawn ssh [email protected] -p 22
expect {
    
    
    "*yes/no/*" {
    
    send "yes\r"; exp_continue }
    "*password:" {
    
    send "123456\n"};
}
interact
  • 打开windows terminal的设置,选择添加配置文件-> 新建空配置文件
    请添加图片描述

  • 其他选项根据实际情况自己填,命令行填写成如下
    请添加图片描述

  • 配置完成,不要玩了点击右下角的完成

  • 然后点windows terminal的下拉框,就能看到配置的远端环境了,直接点击就可以自动登陆了
    请添加图片描述

  • 还存在一个问题,就是ssh连接,长时间不操作就会自己断开,为此我们可以修改客户端/etc/ssh/ssh_config文件,在末尾添加ServerAliveInterval 120每120s向服务端发一次消息,防止断开。

猜你喜欢

转载自blog.csdn.net/C2681595858/article/details/124814357