## 使用腾讯免密证书登录服务器
在腾讯云后台打开SSH密钥,新建一个密钥信息,后台生成一个公钥,第一次生成时可以下载私钥文件ssh.pem.保存在本地路径为
/Users/yk/ssh.pem
,注意保存pem文件,文件只生成一次.编辑远程服务器__CODE_STANDALONE_START__/root/.ssh/authorized_keys__CODE_STANDALONE_END__文件将腾讯云后台生成的公钥复制进去.
公钥代码示例:
ssh-rsa XXX skey-iybcvi2f
- 在终端软件中用以下的命令登录远程服务器,注意指定你自已的证书绝对路径.
#赋予私钥文件仅本人可读权限
chmod 400 /Users/yyw/ssh.pem
#在终端中开启登录
ssh -i '/Users/yyw/ssh.pem' root@xx.xx.xx.xx
在 vscode 中编辑/Users/yyw/.ssh/config文件写入以下内容
Host 49.233.117.226
HostName 49.233.117.226
IdentityFile ~/ssh.pem
PreferredAuthentications publickey
#ForwardAgent yes
User root
远程连接完成
本机生成私钥,修改远程配置文件加入公钥进行登录的方法
在本地电脑上用ssh-keygen生成密钥对。
在macos 主机本地生成密钥对文件名是id_rsa_server_someone
在生成过程中要求输入ssh文件的密码,可以直接回车留空:
ssh-keygen -t rsa -f id_rsa_server_someone
生成两个文件,一个是私钥无扩展名,一个是公钥扩展名是 pub
把公钥文件上传到远程服务器,并把内容复制到__CODE_STANDALONE_START__/root/.ssh/authorized_keys__CODE_STANDALONE_END__文件中
以下的命令为追加内容
cat id_rsa_server_someone.pub >> authorized_keyscd /
最后,在vscode 的ssh连接配置文件中修改config中修改为:
Host 192.168.88.66
HostName 192.168.88.66
#文件路径为当前用户根目录/Users/yyw/id_rsa_server_someone
IdentityFile ~/id_rsa_server
PreferredAuthentications publickey
#ForwardAgent yes
User root
Host 49.233.117.226
HostName 49.233.117.226
IdentityFile ~/id_rsa_server_someone
PreferredAuthentications publickey
#ForwardAgent yes
User root
出错的检查处理方法:
启用ssh链接方法
要求确认远程主机已经正确设置了SSH服务,并且允许使用SSH密钥来进行身份验证。通过编辑远程主机的SSH配置文件(一般在/etc/ssh/sshd_config路径下),可以启用SSH密钥身份验证,具体操作是将PubkeyAuthentication设置为yes。
修入配置文件后重启 ssh
sudo systemctl restart sshd
如果出现提示远程服务器密码已变更(重要)
可以删除macos用户主目录.ssh下known_hosts文件
ForwardAgent yes的用途
"ForwardAgent yes" 意味着在SSH连接中启用代理转发功能。当这个选项被设置为"yes"时,SSH客户端会将本地计算机上的代理密钥传输到远程主机,从而允许用户在远程主机上使用本地计算机上的私钥进行认证。这样可以方便地在多个主机之间传递身份验证信息,而无需在每台主机上都存储私钥。
如果root用户下没有.ssh文件 没有用root用户登录过,执行下ssh操作,就能自动生成
ssh localhost
输入yes
输入密码
cd /root/.ssh/就进入了root下的.ssh目录
出现密码无法登录时
确认authorized_keys文件中的内容与mac下生成并上传的公钥pub文件内容相同
windows主机的登录方法
在 Windows 主机上实现免密远程连接服务器。这通常通过 SSH 密钥对来实现,以下是具体步骤:- 生成 SSH 密钥对
ssh-keygen -t rsa -b 4096
- 执行后会提示你设置密钥保存位置,默认是 C:\Users\你的用户名\.ssh\id_rsa
- 可以选择是否设置密码(建议直接回车,不设置密码)
- 这将生成两个文件:
- id_rsa(私钥)
- id_rsa.pub(公钥)
- 将公钥手动复制到服务器
- 使用编辑器查看公钥 id_rsa.pub 内容并复制:
- 登录到服务器,将公钥内容追加到 ~/.ssh/authorized_keys 文件:
- 配置 SSH 配置文件(可选但推荐)
Host server_nickname HostName server_ip User username IdentityFile C:\Users\你的用户名\.ssh\id_rsa Port 22
- 测试连接
ssh server_nickname
如果没有配置 config:ssh username@server_ip
安全提示:- 确保私钥文件 (id_rsa) 的权限设置正确,只有你自己可以访问
- 不要将私钥分享给任何人
- 建议在服务器上设置 sshd_config 禁用密码登录,只允许密钥登录:
PasswordAuthentication no PubkeyAuthentication yes
- 如果连接失败,检查服务器的 SSH 服务是否正常运行
- 确认服务器防火墙是否开放了 SSH 端口(默认 22)
- 检查 authorized_keys 文件的权限是否正确
- 查看服务器的 SSH 日志以获取详细错误信息
发表留言 取消回复