SSH配置

修复private key permission

sudo chmod 600 /Volumes/USB/id_rsa

SSH限制IP登录

Linux限制某些用户或IP登录SSH、允许特定IP登录SSH

sudo vim /etc/hosts.allow
sshd:192.168.123.0/24:allow
sshd:10.0.0.0/8:allow

sudo vim /etc/hosts.deny
sshd:ALL

SSH免密登录

  1. 客户端生成一对密钥(公钥/私钥)

    ssh-keygen -t rsa

    -t: 表示加密算法类型,这里使用rsa算法

  2. 将客户端公钥发送给服务端

    ssh-copy-id root@host

    注:经过ssh-copy-id后接收公钥的服务端会把公钥追加到服务端对应用户的$HOME/.ssh/authorized_keys文件中

  3. 完成免密登录,测试一下吧。

vscode remote ssh pem

Refenrence
Win10中使用VSCode + Remote-SSH + Linux服务器远程开发

{
    "remotePath": "/",
    "host": "<IP-OR_EC2-INSTANCE-HOST-NAME>", 
    "username": "USERNAME",
    "password": "PASSWORD",
    "port": 22,
    "secure": true,
    "protocol": "sftp",
    "uploadOnSave": true, 
    "passive": false,
    "debug": true,
    "privateKeyPath": "<PATH-TO-PEM-FILE>",
    "passphrase": null,
    "ignore": [
       ------
    ],
    "generatedFiles": {
        "uploadOnSave": false,
        "extensionsToInclude": [],
        "path": ""
    }
}
# Read more about SSH config files: https://linux.die.net/man/5/ssh_config
Host charlie_hao_ubuntu_1
    HostName 10.1.1.51
    User ubuntu
    IdentityFile c:\Users\haoliangliang\.ssh\keypair-macos.pem
    IdentitiesOnly true

Host charlie_liujie
    HostName xx.xx.xx.xxx
    User ubuntu
    # 文件路径会导致permission问题
    IdentityFile c:\Users\haoliangliang\.ssh\KeyPair-liujie.pem
    IdentitiesOnly true