一个前端,爱跑步、爱吉他、爱做饭、爱生活、爱编程、爱南芳姑娘,爱我所爱。世间最温暖又无价的是阳光、空气与爱,愿它们能带你去更远的地方。

  • 文章
  • 心情
  • 照片墙
  • 留言板
  • 工具
  • 友链
  • biaoblog

    专注web开发技术分享

    ssh学习随笔记录

    技术 414 2022-04-28 11:24

    SSH登录服务器免登录

    1. 本地创建公私匙对(个人觉得新建一个专用的匙对比较好):
    ssh-keygen -t rsa -C "github actions"
    
    1. 上传公匙到服务器
    ssh-copy-id -i [公钥文件] user@host 
    # user是你的ssh的用户,host是服务器地址,这时候还要输入密码。
    # 例子:ssh-copy-id -i id_rsa.pub root@111.111.111.111
    

    这个时候会报错:

    Windows ssh-copy-id : 无法将ssh-copy-id”项识别为 cmdlet函数脚本文件或可运行程序名称

    解决方法:

    问题:

    ssh-copy-id : 无法将“ssh-copy-id”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

    解决办法

    在终端先执行以下内容:

    function ssh-copy-id([string]$userAtMachine, $args){   
        $publicKey = "$ENV:USERPROFILE" + "/.ssh/id_rsa.pub"
        if (!(Test-Path "$publicKey")){
            Write-Error "ERROR: failed to open ID file '$publicKey': No such file"            
        }
        else {
            & cat "$publicKey" | ssh $args $userAtMachine "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys || exit 1"      
        }
    }
    

    再执行ssh-copy-id username@ip即可。

    后面使用cmd登录 每次都要输入ip地址很麻烦 配置下:

    在.ssh目录下创建一个config文件, 写入

    Host alias-name    # 别名,这里举例为 alias-name
    HostName 111.111.111.111   # 要登录服务器域名或IP
    Port 22                    # 要登录服务器的端口   
    User root                  # 要登录服务器的用户名
    

    设置成功后就可以直接使用ssh alias-name登录服务器了!

    需要配置多个的话 直接往下写就行了...


    使用ssh 端口转发远程服务ip

    ssh -L 27017:127.0.0.1:27017 blog2
    

    使用场景就是我们远端服务器blog 的mongoDB 的访问端口是27017 而且设置了只有内网可以访问

    我们需要本地使用图形化工具(robo3T)进行访问,就可以使用ssh -L 来端口转发

    就可以本机连接并访问远端blog的mongodb啦



    文章评论

    评论列表(0