ssh 使用
- 一、ssh 安装
- 二、ssh 使用
- 1. ssh 登录
- 2. ssh-keygen 免密登录
- (1) ssh 生成密钥
- (2) 开启远程主机的密钥登陆
- (3) ssh 分发公钥
- 3. ssh-copy-id 复制公钥到远程主机
- 4. scp 复制
系统环境: linux(ubuntu,debian,kali)
一、ssh 安装
sudo apt update
sudo apt install openssh-server
若没有安装在使用ssh时会出错误:
ssh: connect to host remote port 22: Connection refused
二、ssh 使用
1. ssh 登录
ssh aaron@100.64.1.2
若不想每次都输入用户名和ip只需在~/.ssh/config
加入此内容
Host rpiHostName 100.64.1.2User aaron
然后就可以这样使用了:
ssh rpi
2. ssh-keygen 免密登录
(1) ssh 生成密钥
ssh-keygen -t rsa -C "123456789@qq.com"
一直回车即可:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/aaron/.ssh/id_rsa):
会在本地~/.ssh
生成公钥(id_rsa.pub
)和私钥(id_rsa
)
ls ~/.ssh/id_rsa INT | 1m 41s | aaron@ecsrhy17x | 21:01:52
id_rsa id_rsa.pub
(2) 开启远程主机的密钥登陆
修改此文件中的内容 :
vi /etc/ssh/sshd_config
打开以下
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
是否取消密码登陆,自己决定 :
PasswordAuthentication no
(3) ssh 分发公钥
如果感觉麻烦可以直接使用命令实现:
ssh-copy-id
将本机生成的公钥~/.ssh/id_rsa.pub
内容,复制到远程主机的~/.ssh/authorized_keys
(没有此文件就创建一个)
cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDdcAiXIi+1Qc6HP0zlStlijJBUk5m0jY20Z6wjpfgDaY+4+F08B8fhMVbQTNTtnQhKGNgYzIiZ/PpXvNs43OhQOwTG8hDkKp8g3MTcxcjjr2fL2KiAC+MD8OfjaJfunFg5ZYa1X2th1AptbctjzABRM+FR9o9gZ8gFzDU2m5KFnupZS+5TFIWXhUsZJk+Zv7Cjn32Y/0VBPGr908XC1bK8UUCTpipPJ76x4jA3S+D9PJ/2iFOFQjMCjc6pfzrCpO/rODI3eNOehhiT7U1POeybXBJXDggf5NvjaZahAIILWHhIf9vZ+P+iA+dnsYzN6MCg4r9bHpKZLpNvpZtqqk2jdxoiTPD64QU+UK6FMPwZ3bjqoUZIbLIvyZY9aUFK/9E3yMkcwazyUri6mKICoZW1fuoEIX/ZdStUntEJag1BY9veQI8jvWYCfJj7KwLe18FomBqFvNLFRDRbg5XaAz8Me+PIDvinrO3ebMem0/aAsnxsNyaS1eG3qpq7E= 123456789@qq.com
3. ssh-copy-id 复制公钥到远程主机
ssh-copy-id -i ~/.ssh/id_rsa.pub aaron@192.168.1.2
4. scp 复制
复制到远程主机的指定目录下,需要是用户(如:aaron)用权限操作的目录:
#scp test.txt aaron@100.64.1.2:/home/aaron/
scp test.txt rpi:/home/aaron/
从远程主机的指定目录下文件复制到本机:
#scp aaron@100.64.1.2:/home/aaron/test.txt .
scp rpi:/home/aaron/test.txt .
能力一般,水平有限,希望能帮到您