美文网首页
mac上ssh免密码输入登录服务器

mac上ssh免密码输入登录服务器

作者: 海浪萌物 | 来源:发表于2018-05-15 17:57 被阅读294次

    上一篇文章写的如何在mac上登录服务器,但是每次都要输入服务器名字和密码,感觉特别麻烦,就搜了一下简单的方法,亲测有效。

    第一步:简化登录命令行

    既要达到这么一个效果,即:

    ssh 100 <=等效于=> ssh username@192.168.1.100

    ssh one <=等效于=> ssh username@domain_one.com

    ssh two <=等效于=> ssh username@domain.com_two -p 222

    如何设置呢?很简单,方法如下:修改~/.ssh/config (如果没有.ssh或者config,就新建一个)

    test@ubuntu:~$ cd .ssh/
    test@ubuntu:~/.ssh$ touch config
    test@ubuntu:~/.ssh$ vim config
    Host 100

            HostName 192.168.1.100
    
            Port  22
    
            User  username
    

    Host one

           HostName  domain_one.com
    
           Port 22
    
           User  username
    

    Host two

          HostName domain_two.com
    
          Port  222
    
          User  username
    

    保存后,输入:ssh 100 就可以等了服务器了,但是还是需要输入密码。

    第二步:实现免密码登录

    ssh常用公钥和私钥的方式实现免密码登录,在你安装ssh后,自带了一个ssh-genkey的工具生成公钥和私钥。

    设置方法如下:

    test@ubuntu:~$
    test@ubuntu:~$ cd .ssh/
    test@ubuntu:~/.ssh$
    test@ubuntu:~/.ssh$ ls
    config
    test@ubuntu:~/.ssh$
    test@ubuntu:~/.ssh$ ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/yaolan/.ssh/id_rsa): id_rsa (输入保存的文件名称)
    Enter passphrase (empty for no passphrase): (输入Enter键)
    Enter same passphrase again: (输入Enter键)
    Your identification has been saved in id_rsa.
    Your public key has been saved in id_rsa.pub.
    The key fingerprint is:
    14:b5:e4:73:1a:c7:95:d1:f4:86:3e:0c:6d:6e:cc:ef yaolan@VirtualBox
    The key's randomart image is:
    +--[ RSA 2048]----+
    | ..o o=.|
    | + o o..o|
    | . = = + o|
    | . * O . |
    | S . O |
    | . o |
    | .|
    | . |
    | E|
    +-----------------+
    test@ubuntu:~/.ssh$ ls
    config id_rsa id_rsa.pub

    id_rsa私钥,id_rsa.pub公钥,采用RSA加密形式。我们只要把 id_rsa.pub改为 anthorized_keys并上传到服务器你的主目录下的.ssh下即可,

    方法如下:

    test@ubuntu:~/.ssh$ cp id_rsa.pub authorized_keys
    test@ubuntu:~/.ssh$
    test@ubuntu:~/.ssh$ ls
    authorized_keys config id_rsa id_rsa.pub
    test@ubuntu:~/.ssh$
    test@ubuntu:~/.ssh$ scp authorized_keys username@192.168.1.100:~/.ssh

    完成这步,我们就可以免密码等了

    总结:做完第一步和第二步后,输入 ssh 100就可以直接登录服务器了。如下:

    test@ubuntu:~$ ssh 100
    Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 4.2.0-35-generic x86_64)

    191 packages can be updated.
    108 updates are security updates.

    New release '16.04.1 LTS' available.
    Run 'do-release-upgrade' to upgrade to it.

    Last login: Tue Nov 1 14:44:36 2016 from 192.168.1.120
    username@Server:~$
    username@Server:~$

    备注:私钥要保护好,注意它的权限。其他帐号在获取你的私钥后,可以通过你的帐号免密码等了服务器。

            同样你可以把公钥上传到其他服务器,这样用同一个私钥就可以登录多台服务器了。
    

    由于公司服务器账号设置了权限,本人无权限访问ssh文件夹,所以免密码登录无法验证。

    还有一种方法就是:
    打开终端,然后点击左上角shell--->新建远程链接---->选择安全Shell(ssh)---->右边添加+号--->然后输入服务器的ip地址---->在下面输入用户名--->点击连接,然后在终端输入密码即可,这一部免去了输入服务器IP地址的问题。

    有时候链接服务器会出现这个错误:


    20160403212616022.png

    解决办法:
    先cat一下家目录的.ssh/know_hosts
    删除对应ip地址的的相关rsa的信息即可.(有时候ip地址太多,需要上滑才能找到)

    相关文章

      网友评论

          本文标题:mac上ssh免密码输入登录服务器

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