SSH密钥认证添加方法和一些实用配置

更改SSH端口号

用账号密码进入主机

sudo nano /etc/ssh/sshd-config

再其中添加Port 22等或改变该条

添加公钥到主机

cd ~
sudo mkdir .ssh

此处如果已经有.ssh文件夹,则不必创建。

回到客户机,用密码进行scp操作。

sudo scp ~/.ssh/id_rsa.pub username@hostName:~./ssh

用账号密码进入主机

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

这两步也可以替换为

ssh-copy-id username@hostName

输入密码即可自动完成。

退出主机,即可发现已经能够免认证访问主机。

添加快捷登录方式

进入客户机

sudo nano ~./ssh/config

接下来,编辑如下格式快捷方式

Host    name # 自定义的别名
    HostName     1.2.3.4
    Port     1234 # 22是默认值
    User     root
    IdentityFile    ~./ssh/id_rsa # 私钥文件位置,默认为此值
Host    name2
......

接下来,登录时可以简单的

ssh name

如果出现权限问题,按这样设置

chmod 700 ~/.ssh/  
chmod 600 ~/.ssh/id_rsa*   
chmod 644 ~/.ssh/config

即可连接~

主机安装sshd

安装ssh服务,仅需安装openssh-server

sudo apt install openssh-server

之后,要设置权限

chmod 700 ~/.ssh/  
chmod 600 ~/.ssh/id_rsa*
chmod 644 ~/.ssh/config

WSL也可以使用JetBrains为了方便Clion使用的一件脚本。(顺便安装了一些编译环境)

sudo wget https://raw.githubusercontent.com/JetBrains/clion-wsl/master/ubuntu_setup_env.sh && bash ubuntu_setup_env.sh

之后使用windows自带的定时任务计划上添加开机启动Ubuntu ssh服务的任务。

  • 搜索“任务计划程序”,操作-- 创建基本任务
  • 触发器:当计算机启动时
  • 操作:启动程序
  • 程序名:bash.exe
  • 参数为-c "sudo /usr/sbin/sshd -D"" 意思是打开bash,执行sshd命令开启ssh服务
  • 选择“点击完成打开属性页”按钮,点击完成,打开属性页
  • 在属性页选择“使用最高权限运行”,避免错误。
原文地址:https://www.cnblogs.com/cielosun/p/6935652.html