配置ssh免密登录远程服务器-Window10环境

每次ssh登录服务器的时候都需要输入冗长的ip地址还有密码,有时候记不住还得去翻笔记,所以决定配置一下ssh的免密登录

参考了挺多博客的,但已经记不住了,在这里感谢他们。
每个人的情况都不一样,这里记录一下自己成功的示例,期望自己以后再搞的时候有个参考,也期望可以帮到一些人。

  1. 确保已经在本机和远程服务器上都正确安装了ssh

    试着在本机上面用密码连接一次服务器

    ssh username@hostname
    
  2. 在本地机器上生成密钥

    ssh-keygen -t rsa
    

    会提问选择创建的密钥的路径和名称,名称建议需要对不同机器做出区分的话,可以取不同的名称,要不然就全部默认

    生成的密钥文件在~/.ssh/目录下
    ssh-keygen生成的密钥文件

    说明一下各个文件的作用:

    • config:是配置文件,等下配置一些环境选项方便以后连接不用输入很多命令
    • id_rsa_*:刚才生成密钥的私钥(连接服务器时,要使用这个密钥)
    • id_ras_*.pub:密钥的公钥(放在服务器上面)
    • known_hosts、known_hosts.old:可以不用理会,每次用ssh连接新机器的时候都会加一条标识进去
  3. 然后现在就需要将本地的公钥添加到服务器的ssh认证列表中

    服务器的那个文件路径一般都是 ~/.ssh/authorized_keys

    这里可以手动将本地 id_ras_*.pub 复制到其中,也可以通过以下 ssh-copy-id 拷贝

    ssh-copy-id -i 本地的pub路径 username@hostname
    # 输入密码就可以了
    #### 如果win环境下提示没有这个命令,可以换到git-bash中使用
    

    注意:

    如果在修改 authorized_keys 文件时,遇到说 Operrations not permit之类的错误,可以百度一下

    这里使用的方法是通过 lsattr 命令查看了一些文件的属性

    然后 chattr -i authorized_keys 就可以修改了

    修改完后 chattr +i authorized_keys 恢复成原样

  4. 添加完公钥后,已经可以直接不需要密码登录了,只需要登录的时候指定私钥就可以了

    ssh -i ~/.ssh/id_rsa 用户名@主机ip
    

    为了方便,可以配置一些config文件,在~/.ssh文件下,没有可以新建一个

    Host ucloud
        HostName 主机ip
        User root
        PreferredAuthentications publickey
        IdentityFile 私钥地址,绝对路径
        AddKeysToAgent yes
    

    然后就可以通过配置登录

    ssh ucloud
    

    如果有多个远程环境的话,也可以配置多个Host,随意

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值