一:在用户家目录下生产秘钥对ssh
$ ssh-keygen -t rsa ide
二:查看以下,spa
$ ll -a .ssh/ip
-rw------- 1 dev dev 0 Apr 17 17:31 authorized_keyscmd
-rw------- 1 dev dev 1675 Jun 26 22:06 id_rsait
-rw-r--r-- 1 dev dev 398 Jun 26 22:06 id_rsa.pubclass
-rw-r--r-- 1 dev dev 399 Jun 26 20:23 known_hosts登录
authorized_keys:存放远程免密登陆的公钥。rsa
id_rsa : 生成的私钥文件权限
id_rsa.pub : 生成的公钥文件
know_hosts : 该档案是纪录连到对方时,对方给的 host key
若是但愿ssh公钥生效需知足至少下面两个条件:
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是600
三:这步是把生成的公钥追加到你须要免秘钥登陆那台机器的authorized_keys里去,ssh-copy-id 会自动在免密钥机器家目录下创建.ssh目录,并把公钥写入./ssh目录下authorized.keys这个文件里。authorized_keys这个文件。我这里家目录是dev
$ ssh-copy-id -i id_rsa.pub '-p 58 dev@10.1.21.76'
注意:1:以下是ssh 端口不是22,就用-p 指定,注意加引号。
2:公钥也能够用scp传递到你要免秘钥登陆的这台机器上,而后追加到秘钥登陆的这台机器的authorized_keys文件里
四:ssh 用命令直接远程查看:
$ ssh 10.1.21.76 'uptime;free;df -h'
$ ssh -t -p 58 $user@$ip 'cmd1;cmd2'
$ ssh -t -p 5860 dev@10.1.21.76 'uptime;free;df -h'