密钥对连接

这里注意一点:客户端上传的公钥放在服务器端谁的目录下,就表示要以谁的账号来认证登录。 
好处:1:不需要用密码登录 
   2:访问方便,用私钥可以在哪里都能登录。

步骤1
在本地linux主机上创建密钥,(也可以用密钥生成工具创建密钥)。

Enter file in which to save the key :直接回车
Enter passphrase :不需要 输入密码直接回车
Enter same passphrase again: 同样不需要输入密码直接回车。

查看创建好的密钥  

/root/.ssh/目录里边看到创建的公私密钥

ls /root/.ssh/



id_rsa是密钥。
id_rsa.pub是公钥。

上传公钥到服务器端的 root家目录,表示如果用这个密码链接远程服务器,则登录到远程服务器以后就是root身份。

一种:scp -r /root/.ssh/id_rsa.pub ip:/root/.ssh/authorized_keys

二种:ssh-copy-id 将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id也能让你有到远程机器的home, ~./ssh , 和 ~/.ssh/authorized_keys的权利

ssh-copy-id -i .ssh/id_rsa.pub  用户名字@ip,输入密码传入

三种:ssh-copy-id -u yonghu -i ~yonghu/.ssh/id_rsa.pub ssh 用户名字@IP地址 (第一次需要密码登录)

这是给yonghu赋予无密码登录权利

/usr/bin/ssh-copy-id: ERROR: No identities found 出现此类问题:

使用选项 -i ,当没有值传递的时候或者 如果 ~/.ssh/identity.pub 文件不可访问(不存在), ssh-copy-id 将显示上述的错误信息  ( -i选项会优先使用将ssh-add -L的内容)

在服务器端手工建立 .ssh目录(如果.ssh目录不存在)。
把 id_ras.pub 添加到 .ssh目录下的authorized_keys。
并修改该文件的权限为600除了root其它用户不允许操作。


步骤2
在远程服务器端修改/etc/ssh/sshd_config文件,按一下设置:

PubkeyAuthentication用来设置是否开启公钥验证,如果使用公钥验证的方式登录时,则设置为yes

AuthorizedKeysFile     .ssh/authorized_keys
AuthorizedKeysFile用来设置公钥验证文件的路径,与PubkeyAuthentication配合使用,默认值

测试
本地linux服务器登录测试 ssh IP

原文地址:https://www.cnblogs.com/LHXW/p/10938784.html