https://blog.csdn.net/u012865381/article/details/78521087/
1.在服务机上操作
创建要远程登录的用户和密码
[root@izwz97s23bov6qmem6poj8z ~]# useradd jundong [root@izwz97s23bov6qmem6poj8z ~]# passwd jundong New password: Retype new password: passwd: all authentication tokens updated successfully.
2.在客户机上操作(其他机器也行,主要是用来创建密钥对)
2.1.创建ssh-key
[root@node1 ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:W05lCKLqZ8FWTyAwTsUrBzg7HRzZfZ8ZbacHg/Wnf6c root@node1 The key's randomart image is: +---[RSA 2048]----+ | o=Bo.o . +. | |oo=.oo.o..o.=.. | | +.o.......=o=. .| |o ooo. o +o. .o | | ..o+ S o .. | | . . . = . | | . o . . +| | o .o| | E | +----[SHA256]-----+
2.2.把生成的的秘钥拷贝到服务器,
两种可选方式
方式一:可以手动拷贝
手动拷贝刚刚生成的公钥id_rsa.pub(在当前用户家目录的.ssh/id_rsa.pub),将里面的内容追加到要登录的服务器的目标用户家目录下的.ssh/ authorized_keys中,这里是/home/jundong.ssh/ authorized_keys
方式二:直接用命令拷贝
ssh-copy-id可以方便快捷地把公钥追加到到服务端的authorized_keys文件中,注意用户名,输入密码
ssh-copy-id jundong@120.78.150.47
我的操作
[root@node1 ~]# ssh-copy-id jundong@120.78.150.47 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" The authenticity of host '120.78.150.47 (120.78.150.47)' can't be established. ECDSA key fingerprint is SHA256:KwfKwzN4xqw7/VxoVw5IoTi0NhUPZ+h2fSQXi3zgXXY. ECDSA key fingerprint is MD5:22:b0:8e:c0:21:e6:96:b1:de:bd:bd:c4:08:d9:bf:4d. Are you sure you want to continue connecting (yes/no)? yes /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys jundong@120.78.150.47's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'jundong@120.78.150.47'" and check to make sure that only the key(s) you wanted were added.
方式三:在阿里云控制台导入
【在控制台导入证书,阿里云做的事是:将公钥追加到/root/.ssh/authorized_keys中;修改/etc/ssh/sshd_config,把PasswordAuthentication改成no】
1.这种方式会默认把密码登录禁用,只能使用秘钥登录,可以自己手动打开(修改/etc/ssh/sshd_config,把PasswordAuthentication改成yes)
2.这种方式只能使用root用户登录,其他用户不能使用这种方式导入,因为控制台导入只会导入到/root/.ssh/authorized_keys,不会导入到其他用户目录
复制刚刚生成的公钥id_rsa.pub(在当前用户家目录的.ssh/id_rsa.pub),这里是/home/jundong.ssh/ authorized_keys,粘贴到控制台的文本框确定即可,再将密钥对绑定到指定服务器
参考链接:https://help.aliyun.com/document_detail/51794.html?spm=5176.doc51793.6.707.1A6GMv
3.测试
3.1在生成秘钥那台客户机上
[root@node1 ~]# ssh jundong@120.78.150.47 Welcome to Alibaba Cloud Elastic Compute Service ! [jundong@izwz97s23bov6qmem6poj8z ~]$
3.2在其他工具上
拷贝生成的秘钥对的私钥/home/jundong/.ssh/id_rsa(在当前用户家目录的.ssh/id_rsa)到你想要用来登录的客户机,指定其为登录的私钥和对应的用户名即可
提示使用密钥文件登录了
windows下其他工具应该也是类似的
【推荐使用Linux下自带的ssh-keygen工具生成公钥和私钥,这样的证书是通用的。在putty或者secureCRT生成的证书会是其他格式或者是带有工具特有的信息,这些证书可能在其他工具无法使用,例如:在SecureCRT生成的证书,putty可能就不能用了】
---------------------
作者:谢谢俊东不用谢
来源:CSDN
原文:https://blog.csdn.net/u012865381/article/details/78521087/
版权声明:本文为博主原创文章,转载请附上博文链接!