Linux下SSH跳转无密码登录或执行命令
2013-03-21 15:00
477 查看
概述
在开发过程当中我们经常会在两台linux系统服务器之间传输文件,每次登陆都需要手动输入密码,这样重复性的工作浪费时间。如果能实现一次操作永久登陆这样会提高不少工作效率。因此提出以下需求。
需求:
实现两台linux系统服务器之间无密码登陆和执行脚本或shell命令。
实现方式
建设我们有两台服务器IP分别是A,B. 要从服务器A上访问服务器B,即实现A无密码登陆服务器B或执行命令。执行以下步骤即可完成:
1. 首先在IP为A的服务器上执行
ssh-keygen 命令
一路回车,内容如下
[user_a@ ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/export/home1/inms_col/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /export/home1/inms_col/.ssh/id_rsa.
Your public key has been saved in /export/home1/inms_col/.ssh/id_rsa.pub.
The key fingerprint is:
这样,就在当前用户目录下的.ssh文件夹下生成了两个文件id_rsa和id_rsa.pub文件
2. 将id_rsa.pub文件用scp命令传输到Ip为B的服务器用户的.ssh目录下。
如:scp id_rsa.pub user_b@B:/export/home1/B/.ssh/id_rsa.pub
如果在b的/user_b/.ssh/目录下有 authorized_keys 这个文件的话,则直接利用cat命令将id_rsa.put文件内容添加到 authorized_keys后
命令如下: cat id_rsa.pub >> authorized_keys
注意,不能利用手工的拷贝,否则会导致失败,只能用cat >>
3. 修改authorized_keys 的权限为600,如下:chmod 600 authorized_keys
然后删除id_rsa.pub就可以了,大功告成,到A的机器上试试 ssh user_b@B ,看看直接进去了吧,不用再输入密码了!
如果想实现A服务器又可以访问C服务器,那么参照2,3步骤在服务器C上也做下操作即可。
在开发过程当中我们经常会在两台linux系统服务器之间传输文件,每次登陆都需要手动输入密码,这样重复性的工作浪费时间。如果能实现一次操作永久登陆这样会提高不少工作效率。因此提出以下需求。
需求:
实现两台linux系统服务器之间无密码登陆和执行脚本或shell命令。
实现方式
建设我们有两台服务器IP分别是A,B. 要从服务器A上访问服务器B,即实现A无密码登陆服务器B或执行命令。执行以下步骤即可完成:
1. 首先在IP为A的服务器上执行
ssh-keygen 命令
一路回车,内容如下
[user_a@ ~]$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/export/home1/inms_col/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /export/home1/inms_col/.ssh/id_rsa.
Your public key has been saved in /export/home1/inms_col/.ssh/id_rsa.pub.
The key fingerprint is:
这样,就在当前用户目录下的.ssh文件夹下生成了两个文件id_rsa和id_rsa.pub文件
2. 将id_rsa.pub文件用scp命令传输到Ip为B的服务器用户的.ssh目录下。
如:scp id_rsa.pub user_b@B:/export/home1/B/.ssh/id_rsa.pub
如果在b的/user_b/.ssh/目录下有 authorized_keys 这个文件的话,则直接利用cat命令将id_rsa.put文件内容添加到 authorized_keys后
命令如下: cat id_rsa.pub >> authorized_keys
注意,不能利用手工的拷贝,否则会导致失败,只能用cat >>
3. 修改authorized_keys 的权限为600,如下:chmod 600 authorized_keys
然后删除id_rsa.pub就可以了,大功告成,到A的机器上试试 ssh user_b@B ,看看直接进去了吧,不用再输入密码了!
如果想实现A服务器又可以访问C服务器,那么参照2,3步骤在服务器C上也做下操作即可。
相关文章推荐
- ssh跳转无密码登录或执行命令
- ssh免密码登录, 发送命令到多个Linux
- Linux命令:ssh,scp使用及免密码登录
- shell小白 想玩自动化部署,无密码ssh 登录远程服务器,执行scp命令传送war包 并重启tomcat。
- Linux下通过ssh-keygen和ssh-copy-id命令实现ssh无密码登录访问
- Linux下使用SSH非交互式远程执行命令脚本---ssh无密码登陆
- linux使用Python上秘钥远程登录ssh执行shell命令
- Linux命令之远程登录/无密码登录-ssh,ssh-keygen,ssh-copy-id
- python批量操作Linux服务器脚本,ssh密码登录(执行命令、上传、下载)(一)
- 客户端通过SSH免密码登录及执行服务器命令
- ssh无密码登录远程主机执行特定命令的注意事项
- linux ssh无密码登录,远程执行脚本文件
- linux 使用java编写ssh登陆主机 输入密码登陆并执行命令(jsch)
- Linux之Shell脚本while循环ssh登录执行命令
- Linux下通过ssh-keygen和ssh-copy-id命令实现ssh无密码登录访问
- shell小白 想玩自动化部署,无密码ssh 登录远程服务器,执行scp命令传送war包 并重启tomcat。
- python批量操作Linux服务器脚本,ssh密码登录(执行命令、上传、下载)(一)
- Windows使用SSH Secure Shell实现免密码登录Linux的方法以及使用scp2命令免密码下载文件
- SSH登录到远程linux机器并执行命令