You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by GitBox <gi...@apache.org> on 2021/06/03 15:43:06 UTC

[GitHub] [airflow] lidalei opened a new issue #16245: private_key in SFTP connection causes SSHException

lidalei opened a new issue #16245:
URL: https://github.com/apache/airflow/issues/16245


   Using `private_key` in an [SFTP connection](https://airflow.apache.org/docs/apache-airflow-providers-sftp/stable/connections/sftp.html)'s extra field causes SSHException.
   
   **Apache Airflow version**:
   2.0.2
   
   **What happened**:
   I set an SFTP connection's private_key field to the key's path and it causes an SSHException.
   
   ```
     File "airflow/providers/sftp/sensors/sftp.py", line 48, in poke
       self.hook = SFTPHook(self.sftp_conn_id)
     File "airflow/providers/sftp/hooks/sftp.py", line 66, in __init__
       super().__init__(*args, **kwargs)
     File "airflow/providers/ssh/hooks/ssh.py", line 132, in __init__
       self.pkey = paramiko.RSAKey.from_private_key(StringIO(private_key))
     File "paramiko/pkey.py", line 256, in from_private_key
       key = cls(file_obj=file_obj, password=password)
     File "paramiko/rsakey.py", line 52, in __init__
       self._from_private_key(file_obj, password)
     File "paramiko/rsakey.py", line 179, in _from_private_key
       data = self._read_private_key("RSA", file_obj, password)
     File "paramiko/pkey.py", line 324, in _read_private_key
       raise SSHException("not a valid {} private key file".format(tag))
   ```
   **What you expected to happen**:
   Allow us to use both key_file and private_key to in an SFTP connection or simply rename private_key to key_file.
   
   <!-- What do you think went wrong? -->
   SFTPHook inherits from SSHHook and SSHHook supports both private_key (content) and key_file (path). When initializing an SFTPHook, it calls super().__init__ which initializes an SSHHook. And SSHHook finds the private_key is not valid.
   
   **How to reproduce it**:
   ```
   import os
   from airflow.providers.sftp.hooks.sftp import SFTPHook
   
   os.environ['AIRFLOW_CONN_SFTP'] = 'sftp://:@?private_key=/tmp/ssh'
   
   sh = SFTPHook(ftp_conn_id='sftp')
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] hx-markterry commented on issue #16245: private_key in SFTP connection causes SSHException

Posted by GitBox <gi...@apache.org>.
hx-markterry commented on issue #16245:
URL: https://github.com/apache/airflow/issues/16245#issuecomment-858477072


   Similar to: https://github.com/apache/airflow/issues/16323
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] lidalei closed issue #16245: private_key in SFTP connection causes SSHException

Posted by GitBox <gi...@apache.org>.
lidalei closed issue #16245:
URL: https://github.com/apache/airflow/issues/16245


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] hx-markterry commented on issue #16245: private_key in SFTP connection causes SSHException

Posted by GitBox <gi...@apache.org>.
hx-markterry commented on issue #16245:
URL: https://github.com/apache/airflow/issues/16245#issuecomment-858477793


   I've been using this fix locally: https://github.com/apache/airflow/pull/16338


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [airflow] lidalei commented on issue #16245: private_key in SFTP connection causes SSHException

Posted by GitBox <gi...@apache.org>.
lidalei commented on issue #16245:
URL: https://github.com/apache/airflow/issues/16245#issuecomment-858508858


   @hx-markterry Cool. Gonna close the issue and good luck with the PR!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org