ssh远程别名免密登录配置

ssh远程别名免密登录配置

  1. 本机生成密钥对

    密钥对默认存放在~/.ssh目录下(在windows里即为C:/Users/XXX/.ssh),默认为id_rsa,命令如下:

    ssh-keygen -t rsa
    

    如果想要自定义密钥对名称,可以采用-f参数

    ssh-keygen -t rsa -C “your email” -f id_rsa_xx
    

    其中“your email” 替换成你自己的邮箱;-f 后边“id_rsa_xx” 中的 xxx 就可以自定命名,例如

    ssh-keygen -t rsa -C “your email” -f id_rsa_centos
    
  2. 上传公钥到服务器

    首先,在远程服务器端输入vim /etc/ssh/sshd_config确保下面三个选项是打开的

    //找到下面配置,取消对应的注释
    PermitRootLogin yes
    PubkeyAuthentication no
    PasswordAuthentication yes
    

    然后输入以下命令重启远程服务器的ssh服务

    systemctl restart sshd.service 
    

    上传公钥

    ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.111.111.111
    

    其中root 服务器用户, 192.111.111.111 是服务器ip。之后按照提示输入密码即可

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

    可以在powershell中先执行以下内容

    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命令

  3. 接下来就可以使用ssh直接连接服务器,无需输入密码

    ssh root@192.111.111.111
    
  4. 我们也可以配置远程服务器主机别名

    在客户端主机下, 进入~/.ssh目录, 创建config文件, 该文件下写入以下内容

    Host abc(你想取的别名)    
        HostName ip地址(服务器端的ip地址)    
        User abcde(服务器主机原用户名)    
        port 22    
    

    保存并退出,之后就可以采用ssh abc去访问对应服务器了

如果出现类似权限无法访问的问题,试试以下解决方法,在服务器端输入

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
systemctl restart sshd.service
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值