Bootstrap

vscode 远程连接ssh 密钥方式

目录

1. powershell 生成key:

2. 在服务器上安装公钥

linux测试成功:

3).为了确保连接成功,输入如下指令以保证以下文件权限正确:

3 开启 ssh 密钥登录

vscode 远程连接配置

python连接测试ok

查看日志:


1. powershell 生成key:

在命令行执行ssh-keygen来创建密钥对,默认情况下,会生成一个私钥(id_rsa)和一个公钥(id_rsa.pub

一般保存目录:

C:\Users\xxxx\.ssh

2. 在服务器上安装公钥

1).
拷贝id_rsa.pub中的公钥,并添加到authorized_keys中:

mkdir -p ~/.ssh
# {YOUR_PUB_KEY}是拷贝的公钥,以ssh-rsa开头
echo "{YOUR_PUB_KEY}" >> ~/.ssh/authorized_keys

linux测试成功:

ssh-copy-id -i ./id_rsa.pub -p 20002 [email protected]

注意:id_rsa和id_rsa.pub 同时都在。

权限:

chmod 700 ~/.ssh

cd ~/.ssh

chmod 600 authorized_keys

chmod 644 id_rsa.pub

chmod 600 id_rsa

2). 把 id_rsa.pub文件拷贝到服务器上,

执行覆盖:

cat id_rsa.pub > ~/.ssh/authorized_keys

执行追加:

cat id_rsa.pub >> ~/.ssh/authorized_keys


如此便完成了公钥的安装。

3).为了确保连接成功,输入如下指令以保证以下文件权限正确:

cd /root/.ssh

chmod 600 authorized_keys 
chmod 700 ~/.ssh

方法2

chmod 600 /root/.ssh/authorized_keys 
chmod 700 /root/.ssh

3 开启 ssh 密钥登录

vim /etc/ssh/sshd_config


将 PubkeyAuthentication 和 AuthorizedKeysFile 这两个选项的注释取消掉AuthorizedKeysFile 选项后面的路径指定了从哪里读取公钥文件

修改完毕重启远程服务器

vscode 远程连接配置

Host xxxx
    HostName xxx
    User xxx
    Port xxx
    IdentityFile "C:\Users\xxx\.ssh\id_rsa"


                        
原文链接:https://blog.csdn.net/TheKoi/article/details/129571955

python连接测试ok

ssh-keygen -t rsa -b 2048 -C "[email protected]"

import paramiko  # 导入paramiko库

# 创建SSHClient实例
ssh = paramiko.SSHClient()  
# 自动添加未在known_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())  

# 通过密钥进行连接
try:
    ssh.connect(hostname='your_windows_ip', username='your_username', port=2002,key_filename='path_to_your_private_key')  # 连接到Windows
    print("连接成功!")
    
    # 执行命令
    stdin, stdout, stderr = ssh.exec_command('dir')  # 执行Windows命令
    print(stdout.read().decode())  # 打印命令输出

except Exception as e:
    print(f"连接失败: {e}")  # 处理异常

finally:
    ssh.close()  # 关闭SSH连接



重启服务:sudo service ssh restart

查看日志:

cat /var/log/auth.log

;