NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
1、创建密钥 ``` # ssh-keygen -t rsa -C "123456@qq.com" -f ~/.ssh/test/crm-git -t 表示密钥的类型 -b 表示密钥的长度 -f 表示密钥的存放位置路径 -C 用于识别这个密钥的注释 ,这个注释你可以输入任何内容(邮箱),很多网站和软件用这个注释作为密钥的名字 ``` 2、上传公钥到服务器 **authorized_keys** 存放远程免密登录主机的ssh公钥,主要通过这个文件记录多台机器的公钥 ``` # cd .ssh ### id_rsa.pub 提前上传到/root/.ssh 或 /home/gitea/.ssh # cat id_rsa.pub >> authorized_keys # chmod 600 authorized_keys # chmod 700 ~/.ssh ``` 3、 设置 SSH,打开密钥登录功能 编辑 **/etc/ssh/sshd_config** 文件,进行如下设置: ``` RSAAuthentication yes PubkeyAuthentication yes 另外,请留意 root 用户能否通过 SSH 登录: PermitRootLogin yes 当你完成全部设置,并以密钥方式登录成功后,再禁用密码登录: PasswordAuthentication no ``` 重启ssh服务。 ``` systemctl restart sshd ``` 相关配置参考: 4、连接使用SSH 1. 密钥默认生成,且存放在默认的位置 **~/.ssh/id_rsa** ``` # ssh user@hostname # ssh root@192.168.1.1 # ssh root@www.baidu.com ### 带端口 # ssh root@192.168.1.1 -p 22 ``` 2. 手动指定密钥的位置 ``` ssh -i ~/.ssh/crm-git gitea@192.168.0.1 ``` 3. 使用配置文件(推荐),支持多个密钥配置, https://ihavenolimitations.xyz/linjinkun/mysql1/3097541 配置地址 **vim ~/.ssh/config** (1)用域名 ``` Host github HostName github.com User git Port 22 IdentityFile ~/.ssh/keys/wcloud-git ##指定密钥位置 chmod 0600 ~/.ssh/config ################################################################### Host : hostName的别名 HostName 指定登录的主机名或IP地址 Port 指定登录的端口号 User 登录用户名 IdentityFile 登录的公钥文件 IdentitiesOnly 只接受SSH key 登录 PubkeyAuthentication 公匙验证 ################################################################### ``` ``` ssh root@github.com 或 ssh root@github ``` (2)用IP,注意如下 ``` Host 192.168.1.1 User git Port 22 IdentityFile ~/.ssh/keys/wcloud-git ##指定密钥位置 StrictHostKeyChecking=no UserKnownHostsFile=/dev/null ``` ``` ssh root@192.168.1.1 ``` 5、调试 ``` ssh -Tv gitea@121.43.44.66 -p65522 -T 选项禁止分配伪终端 -v 调试模式 ``` **known_hosts** 已知的主机公钥清单 ``` vim ~/.ssh/known_hosts ``` 具体的ssh相关连接 https://www.jianshu.com/p/a7d9c1ac7757