Linux SSH连接远程主机常见配置及命令
SSH 客户端配置参考
有关 ssh 客户端的配置请参考 ssh_config
Host *
HashKnownHosts yes
NoHostAuthenticationForLocalhost yes
PasswordAuthentication no
IdentitiesOnly yes
Port 22
User <远程主机登陆用户名>
PermitLocalCommand yes
LocalCommand echo -e "\033[1;32;5m欢迎使用%h\n\033[0m"
Host <主机别名>
Hostname <远程主机IP>
IdentityFile %d/.ssh/id_rsa
SSH 生成证书
有关此命令请参考 ssh-keygen
ssh-keygen -b 4096 -C "<建议邮箱地址>" -t rsa
将本地公钥上传至远程主机
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 <远程主机登陆用户名>@<远程主机IP>
# 使用上一个命令上传证书时出现多次验证失败的问题时,可尝试使用以下命令上传证书
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 -o IdentitiesOnly=yes -o PasswordAuthentication=yes <远程主机登陆用户名>@<远程主机IP>
SSH 连接远程主机
ssh <主机别名>
ssh -l <远程主机登陆用户名> -p 22 <远程主机IP>
SCP 拷贝文件
# 拷贝本地文件到远程主机
scp <本地文件『绝对路径或相对路径』> <远程主机登陆用户名>@<远程主机IP>:<远程主机存放文件的目标地址>
scp <本地文件『绝对路径或相对路径』> <主机别名>:<远程主机存放文件的目标地址>
## 拷贝目录下多个文件
scp -r <本地文件『绝对路径或相对路径』> <远程主机登陆用户名>@<远程主机IP>:<远程主机存放文件的目标地址>
scp -r <本地文件『绝对路径或相对路径』> <主机别名>:<远程主机存放文件的目标地址>
# 拷贝远程主机文件到本地
scp <远程主机登陆用户名>@<远程主机IP>:<远程文件『绝对路径』> <存放到本地的文件路径>
scp <主机别名>:<远程文件『绝对路径』> <存放到本地的文件路径>
## 拷贝目录下多个文件
scp -r <远程主机登陆用户名>@<远程主机IP>:<远程文件『绝对路径』> <存放到本地的文件路径>
scp -r <主机别名>:<远程文件『绝对路径』> <存放到本地的文件路径>