美文网首页程序员
SSH登陆远程服务器免密码验证

SSH登陆远程服务器免密码验证

作者: 王彩彩的胖狗子 | 来源:发表于2018-05-16 10:02 被阅读0次

    如果用xshell,Termius etc可忽略此文章

    操作环境:mac

    生成密钥

    ssh-keygen -t rsa


    生成密钥

    可以起一个名字,如果默认回车,回车,回车就好,运行open ~/.ssh 可以打开文件查看到一个公共和私有的密钥的文件

    放置密钥至服务器

    scp命令放置公钥至服务器上的.ssh文件夹下
    scp ~/.ssh/id_rsa.pub 登录用户名@服务器域名:~/.ssh/

    现在,登陆到远程的主机上,进入ssh文件夹下

    cd ~/.ssh
    ls -la #查看一下是否有id_rsa.pub文件

    我的文件是id2_rsa.pub

    文件夹下还会有一个authorized_key文件,如果没有,就创建一个,然后在这个文件后面加入id_rsa.pub的内容

    chmod 600 ~/.ssh/authorized_keys

    设置拥有者可读写,其他人不可读写执行的权限

    cat -n id_rsa.pub > authorized_keys #在authorized_keys文件后面加入id_rsa.pub的内容

    查看一下authorized_keys文件中的内容,有时,他可能会多一些没用的东西,就打开vi编辑一下


    多了一些没用的空格和‘1’,要记得删除之后才可以

    SSH config 文件编写

    exit登出远程主机,回到本地,编写SSH config 文件

    vi ~/.ssh/config

    Host service #自己起一个名字,方便一个连接服务器
    HostName xxx.xxx.xxx.xx #真实的域名地址
    User root #登陆服务器的用户名
    IdentityFile ~/.ssh/id_rsa #私有密钥存放的位置

    如果有多个,可以继续在后面添加多个

    连接服务器时可能还需要登录服务器的专用密钥,用ssh-add命令可以把专用密钥添加到ssh-agent的高速缓存中

    通常,我们输入过一次密码后,就可以不用再次输入了,启动ssh service就可以连接到远程的主机上了,但当我们重启电脑后,依旧要我们重新输入一次,因为ssh-add 这个命令不是用来永久性的记住你所使用的私钥的

    这时,我们需要一个.bash_profile文件,输入一些自己使用的shell信息,设置一些环境变量,同时,需要ssh-add -K添加到mac中的keychain中,如果没有.bash_profile文件,我们要先创建一个

    添加到钥匙串中

    cd ~
    touch .bash_profile #新建一个.bash_profile 文件,如果有,直接open
    open ~/.bash_profile

    在.bash_profile中写入ssh-add -K
    如果我们有多个服务器,多个密码,就指定ssh-add -K [path/to/your/ssh-key]添加

    添加 ssh-add -K
    每次重启终端都会看到添加的提示信息

    现在,就可以直接运行ssh service连接服务器了

    参考:https://blog.csdn.net/xiaofei125145/article/details/30243535

    相关文章

      网友评论

        本文标题:SSH登陆远程服务器免密码验证

        本文链接:https://www.haomeiwen.com/subject/gwpydftx.html