首页 > 其他 > 详细

SSH相关命令

时间:2020-05-04 12:32:28      阅读:53      评论:0      收藏:0      [点我收藏+]

SSH

ssh远程登录服务器

ssh -p22 root@10.0.0.61

# -p指定连接远程主机端口,默认22端口可省略
# root@remotehost
# "@"前面为用户名,如果用当前用户连接,可以不指定用户
# "@"后面为要连接的服务器的IP

SCP

scp复制数据至远程主机命令(全量复制)

# -P 指定端口,默认22端口可不写
# -r 表示递归拷贝目录
# -p 表示在拷贝文件前后保持文件或目录属性不变
# -l 限制传输使用带宽(默认kb)

#推:将本地/tmp/oldboy推送至远端服务器10.0.0.61的/tmp目录,使用对端的root用户
[root@m01 ~]# scp -P22 -rp /tmp/oldboy oldboy@10.0.0.61:/tmp

#拉:将远程10.0.0.61服务器/tmp/oldboy文件拉取到本地/opt/目录下
[root@m01 ~]# scp -P22 -rp root@10.0.0.61:/tmp/oldboy /opt/

#限速
[root@m01 ~]# scp /opt/1.txt root@172.16.1.31:/tmp
root@172.16.1.31 password: 
test                        100%  656MB  ‘83.9MB/s‘   00:07 
#限速为8096kb,换算为MB,要除以 8096/8=1024KB=1MB
[root@m01 ~]# scp -rp -l 8096  /opt/1.txt root@172.16.1.31:/tmp
root@172.16.1.31s password: 
test                        7%   48MB   ‘1.0MB/s‘   09:45 

sftp

Sftp远程数据传输命令

#默认可以通过sftp命令连接sftp服务
sftp root@10.0.0.61
sftp -oPort=52113 root@10.0.0.61  #sftp的特殊端口连接

# sftp使用get下载文件至于本地服务器
sftp> get conf.txt /tmp/

# sftp使用put上传本地服务器文件至远程服务器
sftp> put /root/t1.txt /root/

SSH验证方式

1.基于账户密码远程登录
知道服务器的IP端口,账号密码,即可通过ssh客户端命令登陆远程主机
[root@lib02 ~]# ssh root@10.0.0.5
root@10.0.0.5‘s password:

2.基于秘钥远程登录
ssh密匙认证

[root@lb01 ~]# ssh-keygen
[root@lb01 ~]# ll -a
total 84
drwx------   2 root root   25 May  3 09:14 .ssh
[root@lb01 ~]# ll /root/.ssh
total 12
-rw------- 1 root root 1766 May  4 09:48 id_rsa
-rw-r--r-- 1 root root  391 May  4 09:48 id_rsa.pub
-rw-r--r-- 1 root root 340 May  3 09:17 known_hosts
[root@lb01 .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.0.0.6
#远程连接不再需要输入密码
[root@lb01 ~]# ssh root@10.0.0.5
[root@lb01 ~]# ssh -p22 root@10.0.0.5

SSH实践

免交互expect

1.安装expect
[root@m01 ~]# yum install -y expect
2.编写expect脚本
#!/usr/bin/expect
set ip 10.0.0.51
set pass 123456
set timeout 30
spawn ssh root@$ip
expect {
        "(yes/no)" {send "yes\r"; exp_continue}
        "password:" {send "$pass\r"}
}
expect "root@*"  {send "df -h\r"}
expect "root@*"  {send "exit\r"}
expect eof

免交互sshpass (第二次连接才可以)

1.安装sshpass
[root@m01 ~]# yum install -y sshpass
2.使用sshpass命令
[root@m01 ~]# sshpass -p 123456 ssh root@10.0.0.51

[option]
-p:指定密码
-f:从文件中取密码
-e:从环境变量中取密码
-P:设置密码提示

SSH相关命令

原文:https://www.cnblogs.com/syy1757528181/p/12825504.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!