terminal采用公钥免密访问服务器

在使用ssh远程访问服务器一般都要输入密码,这次将此主机生成的公钥放入到服务器上,即可直接登录,无需输入密码,我这里是指使用terminal或者cmd等终端进行ssh登陆,并不是使用xshell6的登陆

参考连接

【GIT】git连接通过ssh连接github
WindowsTerminal内添加阿里云服务器(SSH)

本机(win系统)

本机生成rsa的私钥和公钥

因为这个rsa准备也用于github,所有输入以下命令,然后一路enter就行

  • Enter passphrase是设置密码用于保护私钥,你可以设置或者不设置,这里我没有设置密码,然后直接回车就行

ssh-keygen -t rsa -C "{你的github账号}"

terminal采用公钥免密访问服务器
出现的结果类似上图,在win上的位置C:\Users\{username}.ssh,一般生成两个文件,带.pub是表示公钥,不带的是私钥,我们需要将这个文件的内容(或者说文件)放入到服务器中,这样即可实现
terminal采用公钥免密访问服务器

服务器主机

这里我以普通用户身份创建

生成服务器私钥公钥

$ ssh-keygen

Generating public/private rsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa):	#按回车键
Created directory '/home/username/.ssh'.
Enter passphrase (empty for no passphrase):		#设置密码,我用的空密码
Enter same passphrase again:	#再次输入密码
Your identification has been saved in /home/username/.ssh/id_rsa.
Your public key has been saved in /home/username/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:*******************************************root@Ack
The key's randomart image is:
+---[RSA 2048]----+
|           .=+*+ |
|           +o++=.|
|          ***** +|
|         . = . ..|
|        S + o .  |
|         E = o = |
|          o o.X *|
|            +o %*|
|          .o.+oo@|
+----[SHA256]-----+

若是服务器上已经有公钥私钥文件夹,即/home/username/.ssh/有相应的文件,则忽略这部

这个公钥私钥并准备使用,只是这回生成一个和win上一样的两个文件,位于/home/username/.ssh/

terminal采用公钥免密访问服务器

将win上公钥放入到服务器上

首先创建一个文件,即上图的authorized_keys,然后将公钥的内容复制到上面去,若是想要其他主机也采用这种方式访问服务器,则在authorized_keys这个文件中追加

使用window Terminal快速访问

可以给目标服务器一个别名,这样更容易记住,而不需要记住其ip地址,那就是修改hosts文件,这个就自行百度吧

打开terminal的设置,然后直接将下面复制进去,

 {
    "name": "阿里云",
    "commandline": "ssh aliyun",
    "icon": "E:/pictures/aliyun.ico",
    "startingDirectory" : "%USERPROFILE%"
}

terminal采用公钥免密访问服务器

主要将图片格式改为.ico
terminal采用公钥免密访问服务器

上一篇:解决 IDEA Terminal 窗口 git 命令乱码问题


下一篇:go编译gomod项目报错:timeout&terminal prompts disabled&输入密码