参考链接
Windows使用powershell或者cmd ssh免密码远程连接Linux – 姿势小王子
本地终端使用ssh key免密码连接vps-搞机技术-姿势论坛—姿势小王子
流程备份
思路:本地终端生成公钥文件,将公钥文件上传到服务器,服务器生成验证文件,服务器修改配置允许密钥连接,还可以禁用密码登陆。
- 配置文件放在:C:\Users\用户名.ssh 该目录下,如果没有自行创建,文件名为 config ,没有后缀。
- 本地终端生成公钥,执行一下命令
ssh-keygen -t rsa
在 .ssh 文件夹生成:id_rsa 和 id_rsa.pub 两个公钥文件,记得存放好。 将 id_rsa.pub 公钥文件上传到服务器,可以用 scp 命令或者 FTP 工具。
#本地终端进入 .ssh 文件夹 cd .ssh #上传公钥文件 scp -P 22 id_rsa.pub root@ip地址:/root/.ssh # -P 端口,id_rsa.pub 需要上传的本地文件,root 远程服务器的用户名,/root/.ssh,远程服务器保存文件夹
服务器生成验证文件:
#进入服务器的 .ssh 文件夹 cd .ssh #生成验证文件 authorized_keys cat id_rsa.pub > authorized_keys
修改验证文件和 .ssh 文件夹的权限:
chmod 600 authorized_keys chmod 700 ~/.ssh
服务器修改 ssh 配置允许密钥连接:
vim /etc/ssh/sshd_config
在最后面添加配置参数:
RSAAuthentication yes PubkeyAuthentication yes
如果需要禁用密码登录,建议尝试使用密钥登录后再来修改:
PasswordAuthentication no
重启 sshd 服务是配置生效:
service sshd restart
本地终端远程连接服务器:
ssh root@ip地址 -p 22 -i .ssh/id_rsa # root 远程VPS用户名,-p 端口,-i 公钥路径
本地终端配置文件 config,没有就自己创建一个,内容:
#这三行就不会创建knownhost文件,服务器重装之后,就不用删除旧的信息。 Host * StrictHostKeyChecking no UserKnownHostsFile=/dev/null Host tx1 #别名 ssh 这个别名就可以连接了 HostName xxx.xxx.xxx.xxx #服务器 ip 地址 User root #服务器登录用户名 Port 22 #端口 IdentityFile ~\.ssh\id_rsa #默认使用这个私钥文件登录,这一行可以不写,如果使用其他的密钥文件则需要写一下路径
ssh连接:
ssh 别名 示例:ssh txl