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

2018-05-15  本文已影响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地址太多,需要上滑才能找到)

上一篇下一篇

猜你喜欢

热点阅读