在使用VScode连接远程服务器时,每次打开都要输入密码,以及使用ssh登录或其它方法登录,都要本地输入密码,这大大降低了使用感受,下面总结了免密码登录的方法,用起来巴适得很,起飞。
目录
一、PowerShell终端操控
本地必须在PowerShell终端操控,如下:
二、生成公钥
打开终端后在终端输入以下命令,生成公钥:
ssh-keygen -t rsa
回车再回车,输入 y,再回车,如下:
三、服务器创建文件保存公钥
重新打开一个终端,在终端通过ssh XXX@192.168.21.94进入服务器,在服务器端的home目录下查看是否存在.ssh文件夹,如果不存在按照下面步骤继续,如果存在直接跳到下面四。
3.1 检查是否存在~/.ssh目录
如果不存在,使用下面命令创建
mkdir ~/.ssh
3.2 创建authorized_keys文件
使用下面命令创建创建authorized_keys文件
touch ~/.ssh/authorized_keys
3.3 设置权限
使用下面命令设置正确的权限
chmod 600 ~/.ssh/authorized_keys
上面的这些命令具体用例如下:
四、添加公钥到远程服务器
将第二不生成的本地计算机的公钥(C:\Users\Administrator/.ssh/id_rsa.pub)添加到远程服务器(xxx@192.168.21.94)的authorized_keys文件中。
具体的添加命令如下:
cat C:\Users\Administrator/.ssh/id_rsa.pub | ssh xxx@192.168.21.139 "cat >> ~/.ssh/authorized_keys"
**注意:**关于上面这条命令得根据自己电脑的用户名和远程服务器名称及ip地址对应修改,这是我自己电脑的设置,学者参考修改。(详细见整体操控演示图)
上面命令的解析:
cat C:\Users\Administrator/.ssh/id_rsa.pub:这个命令会读取并打印出你本地计算机上的公钥文件的内容。
|:这是一个管道符,它的作用是将前一个命令的输出作为后一个命令的输入。
ssh xxx@192.168.21.94 “cat >> ~/.ssh/authorized_keys”:这个命令会通过SSH连接到远程服务器,然后执行cat >> /.ssh/authorized_keys命令。这个命令的作用是将输入(也就是你的公钥)追加到远程服务器的/.ssh/authorized_keys文件中。
五、输入password
当出现提示输入password时,输入自己连接远程服务器的密码即可:如下:
六、整体操控演示图
以上所有命令操作的演示入下图所示:
七、测验是否成功免密登录
以上操作都完成后就可以去测试是否设置登录免密成功了,如下:
总结
以上就是(Windows )本地连接远程服务器(Linux),免密码登录设置,希望我的方法能帮助到你,总结不易,多多支出,有其它好方法,欢迎留言讨论。