MAC下 Centos7 下 免账号免密码便捷登录服务器的正确姿势 实践笔记
我使用macOS Mojava 10.14.6版本
zsh版本 zsh 5.3 (x86_64-apple-darwin18.0)
eg: ssh taiwanji (免账号免密码便捷登录 taiwanji服务器)
登录效果
ssh taiwanji #免账号免密快捷登录
1.客户端操作(自己使用的电脑):
1.1生成密钥
在用户目录中检查是否有 .ssh/id_rsa.pub 文件,如果有的话,可以跳过这一步。
生成密钥输入:ssh-keygen -t rsa -b 4096 -C “[email protected]”
ssh-keygen -t rsa -b 4096 -C “[email protected]”
代码参数含义:
-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。
以上代码省略了 -f 参数,因此,运行上面那条命令后会让你输入一个文件名,用于保存刚才生成的 SSH key 代码,如:
Generating public/private rsa key pair.
# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]
当然,你也可以不输入文件名,使用默认文件名(推荐),那么就会生成 id_rsa 和 id_rsa.pub 两个秘钥文件。
接着又会提示你输入两次密码
一般,你也可以不输入密码,直接按回车。
Enter passphrase (empty for no passphrase):
# Enter same passphrase again:
接下来,就会显示如下代码提示,如:
Your identification has been saved in /c/Users/you/.ssh/id_rsa.
# Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected]
当你看到上面这段代码的收,那就说明,你的 SSH key 已经创建成功。
2.服务器配置(被免密登录的服务器)
2.1公钥加到服务器(方式一)
接下来登录到服务器中,同样是在用户目录下的 .ssh 目录,查看是否有 authorized_keys 文件。
如果有,就将刚才自己电脑中 id_rsa.pub 的内容追加到服务器 authorized_keys 文件中;如果没有,创建 authorized_keys 文件后将内容写入。
注意将 authorized_keys 文件权限设置为 600。
cd .ssh/
chmod 600 authorized_keys
2.2公钥加到服务器(方式二)
也可以在自己的电脑远程复制公钥到服务器上
ssh-copy-id [email protected] #把公匙存储到服务器上
ssh-copy-id命令的原理就是把客户端生成在home/.ssh/authorized_keys中,当然你直接复制也是一样的,不过就怕少了一个字符,就很难发现错误了
不过有时候服务器是没有authorized_keys这个文件的,需要新建一个,但是记住,一定要给这个文件设置权限
好了,现在我们可以使用ssh [email protected]无须密码登录了,可以难倒需要我们每次都记住ip吗?
3.免账号便捷登录服务器
检查~/.ssh目录下是否有config文件(如果没有可以新增一个)
cd ~/.ssh
touch config
语法格式
Host taiwanji #自定义别名
HostName #ip或者域名
Port 22 #端口
User root #用户名
IdentityFile /Users/用户/.ssh/id_rsa #私钥
4.登录
ssh taiwanji #免账号免密快捷登录