linux中公钥设置和远程登录


  首先申明,以下内容均源于网络,所有的命令提示,解释都是预先学习了网上的大牛们且自己进行了实验。此处只是随笔/记录,便于本人以后学习,也便于大牛指正理解错误的地方!!

若有大牛发现问题还请在评论区指教。

公钥和私钥的生成

ssh-keygen命令专门是用来生成密钥的。大家可以谷歌一下(条件不允许百度一下也行)。

这里列出了最基本的四个:

  1.-t 用来指定密钥类型(dsa | ecdsa | ed25519 | rsa | rsa1  通常我们常用dsa和rsa算法进行加密,可以百度搜下);

  2.-P 用来指定密语;

  3.-f 用来指定生成的密钥文件名;

  4.-C 用来添加注释。

命令:

ssh-keygen -t rsa -P 123456 -f test -C 'my test key'

解释:

就是新建了密语为123456注释为my test key文件名为test的密钥。此命令会生成testtest.pub两个文件,前者为私钥文件,后者为公钥文件。如果你想免密登录的话,请将密语设置为空。

另外:请注意ssh-keygen是用短线符号连接在一起的,不要分开,中间如果有空格会报错:

Bad escape character 'ygen'.———不好的转义字符“ygen”。

 

也可以不用输这么长的命令一步一步的来根据提示操作:

命令:

ssh-keygen -t rsa  

 

截图没截好,最后无字的红色箭头文字内容为:到你创建公钥目录下去找test(私钥)和test.pub(公钥)两个文件

 

将公钥部署到服务器

上一步生成了公钥和私钥后,需要将公钥部署到服务器并用私钥登录。使用/winscp/xhell/secureCRT/scp或者你的工具将公钥上传到服务器并将文件内容追加到~/.ssh/authorized_keys中。例如:

#在本机上执行此命令,上传公钥
1.xshell/secureCRT:
rz -e 找到test test。pub文件目录
2.scp: scp -P your_port test.pub user@hostname:/tmp
3.winscp:
选择上传,或者直接拖放至目标文件夹 #在服务器上执行此命令,追加到authorized_keys(这个名字可以自己取,但后面使用要用对) cd /home/ && cat test.pub >> ~/.ssh/authorized_keys #更改权限 chmod 600 ~/.ssh/authorized_keys

更改服务器配置

  1.xhell/secureCRT等连接工具:

  执行vim /etc/ssh/ssh_config打开ssh_config

    # IdentityFile ~/.ssh/identity

    # IdentityFile ~/.ssh/id_rsa

    # IdentityFile ~/.ssh/id_dsa

    

 

    把前面#去掉,然后在 IdentityFile 后填写你用来执行ssh时所用的密钥

  

  2.scp连接修改,将如下的配置打开:

  执行vim /etc/ssh/sshd_config打开sshd_config配置文件

   RSAAuthentication yes    PubkeyAuthentication yes    AuthorizedKeysFile  .ssh/authorized_keys

    重启sshdservice sshd restart或者systemctl restart sshd.service。重启之后,服务器已经支持远程ssh连接了

 

推荐使用1方法,方便。2方法有点难找。

连接服务器

1.xhell/secureCRT连接服务器的,直接导入私钥并连接就行(推荐)

2.通过ssh命令来远程连接服务器,执行ssh -p your_port username@domain -i your_private_certification命令,就可以连接到服务器。

pS:

如果只允许服务器通过公钥和私钥的方式来连接服务器,可将服务器配置文件/etc/ssh/sshd_config中的PasswordAuthentication yes改为PasswordAuthentication No

 

在重启sshd时先不要关闭当前的连接,当你确认通过私钥能连接到服务器再关闭,不然,一旦私钥连不上,你又把密码连接方式给禁用了,那就连接不上服务器了(反正我是不知道怎么连了)。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM