ssh taiwanji #免账号免密快捷登录
在用户目录中检查是否有 .ssh/id_rsa.pub 文件,如果有的话,可以跳过这一步。 生成密钥输入:ssh-keygen -t rsa -b 4096 -C “your_email@example.com”
ssh-keygen -t rsa -b 4096 -C “your_email@example.com”
代码参数含义: -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 your_email@example.com
当你看到上面这段代码的收,那就说明,你的 SSH key 已经创建成功。
接下来登录到服务器中,同样是在用户目录下的 .ssh 目录,查看是否有 authorized_keys 文件。 如果有,就将刚才自己电脑中 id_rsa.pub 的内容追加到服务器 authorized_keys 文件中;如果没有,创建 authorized_keys 文件后将内容写入。 注意将 authorized_keys 文件权限设置为 600。
cd .ssh/
chmod 600 authorized_keys
也可以在自己的电脑远程复制公钥到服务器上
ssh-copy-id root@127.0.0.3 #把公匙存储到服务器上
ssh-copy-id命令的原理就是把客户端生成在 h o m e / . s s h / i d r s a . p u b 里 面 的 文 本 复 制 到 服 务 器 home/.ssh/id_rsa.pub里面的文本复制到服务器 home/.ssh/idrsa.pub里面的文本复制到服务器home/.ssh/authorized_keys中,当然你直接复制也是一样的,不过就怕少了一个字符,就很难发现错误了
不过有时候服务器是没有authorized_keys这个文件的,需要新建一个,但是记住,一定要给这个文件设置权限
好了,现在我们可以使用ssh root@127.0.0.3无须密码登录了,可以难倒需要我们每次都记住ip吗?
检查~/.ssh目录下是否有config文件(如果没有可以新增一个)
cd ~/.ssh
touch config
语法格式
Host taiwanji #自定义别名
HostName #ip或者域名
Port 22 #端口
User root #用户名
IdentityFile /Users/用户/.ssh/id_rsa #私钥
ssh taiwanji #免账号免密快捷登录