在Mac电脑上实现到Linux主机的ssh免密登陆
2017-12-03 18:31
585 查看
在远程登录服务器的时候,我们每次都需要输入密码来进行操作,这样其实是一件麻烦的事。接下来就来梳理一下免密登录的操作步骤:
生成密钥对
用密码登录远程主机,将公钥拷贝过去
接着,命令窗口会让你指定保存秘钥存放的文件路径(如图中箭头1的指示),如果按下回车键,则会存储在默认文件路径中。接下来系统会询问你设定密码用来保护密钥,这里可以不设定,直接按下回车键,就会出现图中下半部分的图示,表明密钥生成成功。
注:这里再强调一下,提示enter passphrase的时候,不要输入,因为你本来就想少打一次密码的,这里如果设置了用密码保护私钥,那登录的时候还是要输密码,就白做了。
做完这个步骤后,cd ~/.ssh,你就可以看到你刚才生成的密钥对,id_rsa是私钥,id_rsa.pub是公钥。如图所示:
下一步,就是把公钥拷贝到目标主机上。
有了.ssh目录后,进去,然后把id_rsa.pub传过去,可以用scp命令(如果传输的是文件,则用:
这里要做的一个主要操作,就是将id_rsa.pub,的文件内容,写到一个叫authorized_keys的文件中去,如下图所示:
注:如果目标主机的相应用户名下已经有了.ssh目录和authorized_keys文件,那你操作要小心一点,可能别人也做过免登陆的设置,这个时候你要小心不要把别人的设置给覆盖了。如果没有的话,就创建文件touch ~/.ssh/authorized_keys,然后执行cat id_rsa.pub >> authorized_keys,将你的公钥写入到authorized_keys中,公钥文件.pub里面只有一行信息,上面的命令相当于把那一行信息追加到authorized_keys文件最后一行。
如果.ssh目录是你主机刚刚创建的,那么可能还需要改变一下这个目录的权限,将权限放低,chmod -R 0600 ~/.ssh,到此,所有设置就算做完了,你可以退出登录,在自己的主机上试一下了,现在再敲入ssh命令后,不用密码就可以登录主机了。
通过以上操作,就可以节省每次登录服务器都需要输入密码的烦恼了。
参考博客:
1.https://yq.aliyun.com/articles/59394
2.https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys–2
生成密钥对
用密码登录远程主机,将公钥拷贝过去
一、生成密钥对
在Mac电脑的terminal命令窗口输入如下命令:ssh-keygen -t rsa,执行结果如下:
接着,命令窗口会让你指定保存秘钥存放的文件路径(如图中箭头1的指示),如果按下回车键,则会存储在默认文件路径中。接下来系统会询问你设定密码用来保护密钥,这里可以不设定,直接按下回车键,就会出现图中下半部分的图示,表明密钥生成成功。
注:这里再强调一下,提示enter passphrase的时候,不要输入,因为你本来就想少打一次密码的,这里如果设置了用密码保护私钥,那登录的时候还是要输密码,就白做了。
做完这个步骤后,cd ~/.ssh,你就可以看到你刚才生成的密钥对,id_rsa是私钥,id_rsa.pub是公钥。如图所示:
下一步,就是把公钥拷贝到目标主机上。
二、将公钥拷贝到目标主机
用ssh登录到目标主机,然后cd ~/.ssh目录,如果目录不存在,那么要自己创建mkdir -p ~/.ssh。你今后要用哪个帐户登录主机,就在哪个帐户的home目录下操作,如果要免登陆root,就要去/root下操作。使用~比较好,不用多想了。登录操作如下图所示:有了.ssh目录后,进去,然后把id_rsa.pub传过去,可以用scp命令(如果传输的是文件,则用:
scp 文件名 用户名@服务器ip:目标路径,如果是需要传输的是文件夹,需要在scp 后面添加 -r,即
scp -r 文件夹目录 用户名@服务器ip:目标路径),传输文件操作如下图所示:
这里要做的一个主要操作,就是将id_rsa.pub,的文件内容,写到一个叫authorized_keys的文件中去,如下图所示:
注:如果目标主机的相应用户名下已经有了.ssh目录和authorized_keys文件,那你操作要小心一点,可能别人也做过免登陆的设置,这个时候你要小心不要把别人的设置给覆盖了。如果没有的话,就创建文件touch ~/.ssh/authorized_keys,然后执行cat id_rsa.pub >> authorized_keys,将你的公钥写入到authorized_keys中,公钥文件.pub里面只有一行信息,上面的命令相当于把那一行信息追加到authorized_keys文件最后一行。
如果.ssh目录是你主机刚刚创建的,那么可能还需要改变一下这个目录的权限,将权限放低,chmod -R 0600 ~/.ssh,到此,所有设置就算做完了,你可以退出登录,在自己的主机上试一下了,现在再敲入ssh命令后,不用密码就可以登录主机了。
通过以上操作,就可以节省每次登录服务器都需要输入密码的烦恼了。
参考博客:
1.https://yq.aliyun.com/articles/59394
2.https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys–2
相关文章推荐
- Mac OS X上如何实现到Linux主机的ssh免登陆
- Mac OS X上如何实现到Linux主机的ssh免登陆
- Mac OS X上如何实现到Linux主机的ssh免登陆[forward]
- Mac、Linux 上实现SSH免密码登陆到Linux服务器
- Linux主机间ssh实现无密码登陆
- ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机
- ssh实现Linux主机间的远程文件传输
- linux下实现ssh无密码验证登陆
- Mac电脑登陆万网 linux 乱码解决办法
- winscp实现ssh登陆ESXi主机最新教程
- Mac下到Linux主机ssh免密码登录
- php实现获取局域网所有用户的电脑IP和主机名、及mac地址完整实例
- linux下 ssh 实现无需密码的远程登陆
- 使用expect实现ssh自动输入密码,从而自动登陆Linux
- Mac ssh登陆linux并且显示linux图形
- ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机
- ssky-keygen + ssh-copy-id 无密码登陆远程LINUX主机
- ssh 登陆linux主机不需要输入密码方法
- windows环境下cygwin ssh实现linux到windows的无密码登陆
- ssh 设置私钥实现两台linux主机无密码访问